home *** CD-ROM | disk | FTP | other *** search
/ Game.EXE 2004 October / My Disc.iso / patch / Unreal Tournament 2004 / ut2004-winpatch3323.exe / UT2004-Patch / System / XGame.u / xPawn_xPlayer_ScriptText.TextBuffer < prev    next >
Unknown  |  2004-09-07  |  26.2 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


This file was not able to be converted.
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
100% file data default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 00 00 00 00 00 00 00 | 6a a2 03 63 6c 61 73 73 |........|j..class|
|00000010| 20 78 50 6c 61 79 65 72 | 20 65 78 74 65 6e 64 73 | xPlayer| extends|
|00000020| 20 55 6e 72 65 61 6c 50 | 6c 61 79 65 72 0d 0a 20 | UnrealP|layer.. |
|00000030| 20 20 20 44 65 70 65 6e | 64 73 4f 6e 28 78 55 74 | Depen|dsOn(xUt|
|00000040| 69 6c 29 3b 0d 0a 0d 0a | 23 65 78 65 63 20 4f 42 |il);....|#exec OB|
|00000050| 4a 20 4c 4f 41 44 20 46 | 69 6c 65 3d 22 4d 65 6e |J LOAD F|ile="Men|
|00000060| 75 53 6f 75 6e 64 73 2e | 75 61 78 22 0d 0a 0d 0a |uSounds.|uax"....|
|00000070| 2f 2f 20 61 74 74 72 61 | 63 74 20 6d 6f 64 65 0d |// attra|ct mode.|
|00000080| 0a 76 61 72 20 41 74 74 | 72 61 63 74 43 61 6d 65 |.var Att|ractCame|
|00000090| 72 61 20 63 61 6d 6c 69 | 73 74 5b 32 30 5d 3b 0d |ra camli|st[20];.|
|000000a0| 0a 76 61 72 20 69 6e 74 | 20 6e 75 6d 63 61 6d 73 |.var int| numcams|
|000000b0| 2c 20 63 75 72 63 61 6d | 3b 0d 0a 76 61 72 20 50 |, curcam|;..var P|
|000000c0| 61 77 6e 20 61 74 74 72 | 61 63 74 74 61 72 67 65 |awn attr|acttarge|
|000000d0| 74 2c 20 61 74 74 72 61 | 63 74 74 61 72 67 65 74 |t, attra|cttarget|
|000000e0| 32 3b 0d 0a 76 61 72 20 | 66 6c 6f 61 74 20 63 61 |2;..var |float ca|
|000000f0| 6d 74 69 6d 65 2c 20 74 | 61 72 67 65 74 74 69 6d |mtime, t|argettim|
|00000100| 65 2c 20 67 69 62 77 61 | 74 63 68 74 69 6d 65 3b |e, gibwa|tchtime;|
|00000110| 0d 0a 76 61 72 20 56 65 | 63 74 6f 72 20 66 6f 63 |..var Ve|ctor foc|
|00000120| 75 73 70 6f 69 6e 74 3b | 0d 0a 0d 0a 2f 2f 20 63 |uspoint;|....// c|
|00000130| 6f 6d 62 6f 73 0d 0a 63 | 6f 6e 73 74 20 4d 69 6e |ombos..c|onst Min|
|00000140| 43 6f 6d 62 6f 4b 65 79 | 54 69 6d 65 20 3d 20 30 |ComboKey|Time = 0|
|00000150| 2e 30 35 3b 20 20 20 2f | 2f 20 6b 65 79 73 20 70 |.05; /|/ keys p|
|00000160| 72 65 73 73 65 64 20 66 | 61 73 74 65 72 20 74 68 |ressed f|aster th|
|00000170| 61 6e 20 74 68 69 73 20 | 77 69 6c 6c 20 62 65 20 |an this |will be |
|00000180| 63 6f 6e 73 69 64 65 72 | 65 64 20 61 20 64 6f 75 |consider|ed a dou|
|00000190| 62 6c 65 2d 70 72 65 73 | 73 0d 0a 63 6f 6e 73 74 |ble-pres|s..const|
|000001a0| 20 4d 61 78 43 6f 6d 62 | 6f 4b 65 79 54 69 6d 65 | MaxComb|oKeyTime|
|000001b0| 20 3d 20 30 2e 33 35 3b | 20 20 20 2f 2f 20 6d 61 | = 0.35;| // ma|
|000001c0| 78 20 74 69 6d 65 20 70 | 6c 61 79 65 72 20 68 61 |x time p|layer ha|
|000001d0| 73 20 62 65 74 77 65 65 | 6e 20 62 75 74 74 6f 6e |s betwee|n button|
|000001e0| 20 70 72 65 73 73 65 73 | 0d 0a 0d 0a 76 61 72 20 | presses|....var |
|000001f0| 74 72 61 6e 73 69 65 6e | 74 20 69 6e 74 20 49 6e |transien|t int In|
|00000200| 70 75 74 48 69 73 74 6f | 72 79 5b 34 5d 3b 0d 0a |putHisto|ry[4];..|
|00000210| 76 61 72 20 74 72 61 6e | 73 69 65 6e 74 20 66 6c |var tran|sient fl|
|00000220| 6f 61 74 20 4c 61 73 74 | 4b 65 79 54 69 6d 65 3b |oat Last|KeyTime;|
|00000230| 0d 0a 76 61 72 20 74 72 | 61 6e 73 69 65 6e 74 20 |..var tr|ansient |
|00000240| 69 6e 74 20 4f 6c 64 4b | 65 79 3b 0d 0a 76 61 72 |int OldK|ey;..var|
|00000250| 20 66 6c 6f 61 74 20 4d | 69 6e 41 64 72 65 6e 61 | float M|inAdrena|
|00000260| 6c 69 6e 65 43 6f 73 74 | 3b 0d 0a 76 61 72 20 73 |lineCost|;..var s|
|00000270| 74 72 69 6e 67 20 43 6f | 6d 62 6f 4e 61 6d 65 4c |tring Co|mboNameL|
|00000280| 69 73 74 5b 31 36 5d 3b | 0d 0a 76 61 72 20 63 6c |ist[16];|..var cl|
|00000290| 61 73 73 3c 43 6f 6d 62 | 6f 3e 20 43 6f 6d 62 6f |ass<Comb|o> Combo|
|000002a0| 4c 69 73 74 5b 31 36 5d | 3b 0d 0a 0d 0a 76 61 72 |List[16]|;....var|
|000002b0| 20 78 55 74 69 6c 2e 50 | 6c 61 79 65 72 52 65 63 | xUtil.P|layerRec|
|000002c0| 6f 72 64 20 50 61 77 6e | 53 65 74 75 70 52 65 63 |ord Pawn|SetupRec|
|000002d0| 6f 72 64 3b 0d 0a 76 61 | 72 20 66 6c 6f 61 74 20 |ord;..va|r float |
|000002e0| 4c 61 73 74 52 75 6c 65 | 73 52 65 71 75 65 73 74 |LastRule|sRequest|
|000002f0| 54 69 6d 65 3b 0d 0a 76 | 61 72 20 66 6c 6f 61 74 |Time;..v|ar float|
|00000300| 20 4c 61 73 74 4d 61 70 | 4c 69 73 74 52 65 71 75 | LastMap|ListRequ|
|00000310| 65 73 74 54 69 6d 65 3b | 0d 0a 0d 0a 76 61 72 20 |estTime;|....var |
|00000320| 62 6f 6f 6c 20 61 75 74 | 6f 7a 6f 6f 6d 3b 0d 0a |bool aut|ozoom;..|
|00000330| 76 61 72 20 67 6c 6f 62 | 61 6c 63 6f 6e 66 69 67 |var glob|alconfig|
|00000340| 20 62 6f 6f 6c 20 62 43 | 6c 61 73 73 69 63 54 72 | bool bC|lassicTr|
|00000350| 61 6e 73 3b 0d 0a 76 61 | 72 20 62 6f 6f 6c 20 62 |ans;..va|r bool b|
|00000360| 48 69 67 68 42 65 61 63 | 6f 6e 54 72 61 6a 65 63 |HighBeac|onTrajec|
|00000370| 74 6f 72 79 3b 0d 0a 76 | 61 72 20 62 6f 6f 6c 20 |tory;..v|ar bool |
|00000380| 62 57 61 69 74 69 6e 67 | 46 6f 72 50 52 49 2c 20 |bWaiting|ForPRI, |
|00000390| 62 57 61 69 74 69 6e 67 | 46 6f 72 56 52 49 3b 0d |bWaiting|ForVRI;.|
|000003a0| 0a 76 61 72 20 63 6f 6e | 66 69 67 20 62 6f 6f 6c |.var con|fig bool|
|000003b0| 20 62 44 65 62 75 67 67 | 69 6e 67 56 6f 69 63 65 | bDebugg|ingVoice|
|000003c0| 43 68 61 74 3b 0d 0a 0d | 0a 76 61 72 20 63 6f 6e |Chat;...|.var con|
|000003d0| 66 69 67 20 62 6f 6f 6c | 20 62 41 75 74 6f 44 65 |fig bool| bAutoDe|
|000003e0| 6d 6f 52 65 63 3b 0d 0a | 0d 0a 64 65 6c 65 67 61 |moRec;..|..delega|
|000003f0| 74 65 20 50 72 6f 63 65 | 73 73 52 75 6c 65 28 73 |te Proce|ssRule(s|
|00000400| 74 72 69 6e 67 20 4e 65 | 77 52 75 6c 65 29 3b 09 |tring Ne|wRule);.|
|00000410| 2f 2f 20 53 68 6f 75 6c | 64 20 62 65 20 61 73 73 |// Shoul|d be ass|
|00000420| 69 67 6e 65 64 20 65 6c | 73 65 77 68 65 72 65 0d |igned el|sewhere.|
|00000430| 0a 64 65 6c 65 67 61 74 | 65 20 50 72 6f 63 65 73 |.delegat|e Proces|
|00000440| 73 4d 61 70 4e 61 6d 65 | 28 73 74 72 69 6e 67 20 |sMapName|(string |
|00000450| 4e 65 77 4d 61 70 29 3b | 0d 0a 0d 0a 72 65 70 6c |NewMap);|....repl|
|00000460| 69 63 61 74 69 6f 6e 0d | 0a 7b 0d 0a 09 2f 2f 20 |ication.|.{...// |
|00000470| 63 6c 69 65 6e 74 20 74 | 6f 20 73 65 72 76 65 72 |client t|o server|
|00000480| 0d 0a 09 72 65 6c 69 61 | 62 6c 65 20 69 66 20 28 |...relia|ble if (|
|00000490| 20 52 6f 6c 65 20 3c 20 | 52 4f 4c 45 5f 41 75 74 | Role < |ROLE_Aut|
|000004a0| 68 6f 72 69 74 79 20 29 | 0d 0a 09 09 53 65 72 76 |hority )|....Serv|
|000004b0| 65 72 44 6f 43 6f 6d 62 | 6f 2c 20 53 65 72 76 65 |erDoComb|o, Serve|
|000004c0| 72 52 65 71 75 65 73 74 | 52 75 6c 65 73 2c 20 53 |rRequest|Rules, S|
|000004d0| 65 72 76 65 72 52 65 71 | 75 65 73 74 4d 61 70 4c |erverReq|uestMapL|
|000004e0| 69 73 74 2c 20 41 64 6d | 69 6e 4d 65 6e 75 2c 20 |ist, Adm|inMenu, |
|000004f0| 53 65 72 76 65 72 52 65 | 71 75 65 73 74 50 6c 61 |ServerRe|questPla|
|00000500| 79 65 72 49 6e 66 6f 2c | 0d 0a 20 20 20 20 20 20 |yerInfo,|.. |
|00000510| 20 20 53 65 72 76 65 72 | 53 70 65 63 56 69 65 77 | Server|SpecView|
|00000520| 47 6f 61 6c 2c 20 53 65 | 72 76 65 72 53 65 74 43 |Goal, Se|rverSetC|
|00000530| 6c 61 73 73 69 63 54 72 | 61 6e 73 3b 0d 0a 09 75 |lassicTr|ans;...u|
|00000540| 6e 72 65 6c 69 61 62 6c | 65 20 69 66 28 20 52 6f |nreliabl|e if( Ro|
|00000550| 6c 65 20 3c 20 52 4f 4c | 45 5f 41 75 74 68 6f 72 |le < ROL|E_Author|
|00000560| 69 74 79 20 29 0d 0a 09 | 09 4c 33 33 74 50 68 72 |ity )...|.L33tPhr|
|00000570| 61 73 65 3b 0d 0a 20 20 | 20 20 72 65 6c 69 61 62 |ase;.. | reliab|
|00000580| 6c 65 20 69 66 20 28 20 | 52 6f 6c 65 20 3d 3d 20 |le if ( |Role == |
|00000590| 52 4f 4c 45 5f 41 75 74 | 68 6f 72 69 74 79 29 0d |ROLE_Aut|hority).|
|000005a0| 0a 20 20 20 20 09 43 6c | 69 65 6e 74 52 65 63 65 |. .Cl|ientRece|
|000005b0| 69 76 65 52 75 6c 65 2c | 20 43 6c 69 65 6e 74 52 |iveRule,| ClientR|
|000005c0| 65 63 65 69 76 65 4d 61 | 70 4e 61 6d 65 2c 20 43 |eceiveMa|pName, C|
|000005d0| 6c 69 65 6e 74 52 65 63 | 65 69 76 65 43 6f 6d 62 |lientRec|eiveComb|
|000005e0| 6f 2c 20 43 6c 69 65 6e | 74 52 65 63 65 69 76 65 |o, Clien|tReceive|
|000005f0| 42 61 6e 3b 0d 0a 7d 0d | 0a 0d 0a 65 78 65 63 20 |Ban;..}.|...exec |
|00000600| 66 75 6e 63 74 69 6f 6e | 20 43 68 65 63 6b 50 72 |function| CheckPr|
|00000610| 69 6f 72 69 74 79 28 29 | 0d 0a 7b 0d 0a 09 6c 6f |iority()|..{...lo|
|00000620| 63 61 6c 20 49 6e 76 65 | 6e 74 6f 72 79 20 49 6e |cal Inve|ntory In|
|00000630| 76 3b 0d 0a 09 6c 6f 63 | 61 6c 20 69 6e 74 20 43 |v;...loc|al int C|
|00000640| 6f 75 6e 74 3b 0d 0a 0d | 0a 09 69 66 20 28 20 50 |ount;...|..if ( P|
|00000650| 61 77 6e 20 3d 3d 20 4e | 6f 6e 65 20 29 0d 0a 09 |awn == N|one )...|
|00000660| 7b 0d 0a 09 09 44 65 62 | 75 67 4d 65 73 73 61 67 |{....Deb|ugMessag|
|00000670| 65 28 22 50 61 77 6e 20 | 69 73 20 6e 6f 6e 65 20 |e("Pawn |is none |
|00000680| 2d 20 72 65 74 75 72 6e | 69 6e 67 22 29 3b 0d 0a |- return|ing");..|
|00000690| 09 09 72 65 74 75 72 6e | 3b 0d 0a 09 7d 0d 0a 0d |..return|;...}...|
|000006a0| 0a 09 66 6f 72 28 20 49 | 6e 76 20 3d 20 50 61 77 |..for( I|nv = Paw|
|000006b0| 6e 2e 49 6e 76 65 6e 74 | 6f 72 79 3b 20 49 6e 76 |n.Invent|ory; Inv|
|000006c0| 20 21 3d 20 4e 6f 6e 65 | 20 26 26 20 43 6f 75 6e | != None| && Coun|
|000006d0| 74 20 3c 20 31 30 30 30 | 3b 20 49 6e 76 20 3d 20 |t < 1000|; Inv = |
|000006e0| 49 6e 76 2e 49 6e 76 65 | 6e 74 6f 72 79 20 29 0d |Inv.Inve|ntory ).|
|000006f0| 0a 09 7b 0d 0a 09 09 69 | 66 20 28 20 57 65 61 70 |..{....i|f ( Weap|
|00000700| 6f 6e 28 49 6e 76 29 20 | 21 3d 20 4e 6f 6e 65 20 |on(Inv) |!= None |
|00000710| 29 0d 0a 09 09 09 44 65 | 62 75 67 4d 65 73 73 61 |).....De|bugMessa|
|00000720| 67 65 28 22 57 65 61 70 | 6f 6e 3a 22 24 49 6e 76 |ge("Weap|on:"$Inv|
|00000730| 2e 4e 61 6d 65 40 22 50 | 72 69 6f 72 69 74 79 3a |.Name@"P|riority:|
|00000740| 22 24 57 65 61 70 6f 6e | 28 49 6e 76 29 2e 50 72 |"$Weapon|(Inv).Pr|
|00000750| 69 6f 72 69 74 79 2c 27 | 50 72 69 6f 72 69 74 79 |iority,'|Priority|
|00000760| 44 65 62 75 67 27 29 3b | 0d 0a 0d 0a 09 09 43 6f |Debug');|......Co|
|00000770| 75 6e 74 2b 2b 3b 0d 0a | 09 7d 0d 0a 7d 0d 0a 0d |unt++;..|.}..}...|
|00000780| 0a 73 69 6d 75 6c 61 74 | 65 64 20 66 75 6e 63 74 |.simulat|ed funct|
|00000790| 69 6f 6e 20 44 65 62 75 | 67 4d 65 73 73 61 67 65 |ion Debu|gMessage|
|000007a0| 28 73 74 72 69 6e 67 20 | 44 65 62 75 67 53 74 72 |(string |DebugStr|
|000007b0| 69 6e 67 2c 20 6f 70 74 | 69 6f 6e 61 6c 20 6e 61 |ing, opt|ional na|
|000007c0| 6d 65 20 54 79 70 65 29 | 0d 0a 7b 0d 0a 09 43 6c |me Type)|..{...Cl|
|000007d0| 69 65 6e 74 4d 65 73 73 | 61 67 65 28 44 65 62 75 |ientMess|age(Debu|
|000007e0| 67 53 74 72 69 6e 67 29 | 3b 0d 0a 09 6c 6f 67 28 |gString)|;...log(|
|000007f0| 44 65 62 75 67 53 74 72 | 69 6e 67 2c 54 79 70 65 |DebugStr|ing,Type|
|00000800| 29 3b 0d 0a 7d 0d 0a 0d | 0a 0d 0a 73 69 6d 75 6c |);..}...|...simul|
|00000810| 61 74 65 64 20 66 75 6e | 63 74 69 6f 6e 20 53 74 |ated fun|ction St|
|00000820| 72 69 6e 67 20 47 65 74 | 52 6f 6c 65 53 74 72 69 |ring Get|RoleStri|
|00000830| 6e 67 28 29 0d 0a 7b 0d | 0a 09 6c 6f 63 61 6c 20 |ng()..{.|..local |
|00000840| 53 74 72 69 6e 67 20 54 | 3b 0d 0a 0d 0a 09 54 20 |String T|;.....T |
|00000850| 3d 20 22 52 6f 6c 65 3a | 20 22 3b 0d 0a 09 53 77 |= "Role:| ";...Sw|
|00000860| 69 74 63 68 28 52 6f 6c | 65 29 0d 0a 09 7b 0d 0a |itch(Rol|e)...{..|
|00000870| 09 09 63 61 73 65 20 52 | 4f 4c 45 5f 4e 6f 6e 65 |..case R|OLE_None|
|00000880| 3a 20 54 3d 54 24 22 4e | 6f 6e 65 22 3b 20 62 72 |: T=T$"N|one"; br|
|00000890| 65 61 6b 3b 0d 0a 09 09 | 63 61 73 65 20 52 4f 4c |eak;....|case ROL|
|000008a0| 45 5f 44 75 6d 62 50 72 | 6f 78 79 3a 20 54 3d 54 |E_DumbPr|oxy: T=T|
|000008b0| 24 22 44 75 6d 62 50 72 | 6f 78 79 22 3b 20 62 72 |$"DumbPr|oxy"; br|
|000008c0| 65 61 6b 3b 0d 0a 09 09 | 63 61 73 65 20 52 4f 4c |eak;....|case ROL|
|000008d0| 45 5f 53 69 6d 75 6c 61 | 74 65 64 50 72 6f 78 79 |E_Simula|tedProxy|
|000008e0| 3a 20 54 3d 54 24 22 53 | 69 6d 75 6c 61 74 65 64 |: T=T$"S|imulated|
|000008f0| 50 72 6f 78 79 22 3b 20 | 62 72 65 61 6b 3b 0d 0a |Proxy"; |break;..|
|00000900| 09 09 63 61 73 65 20 52 | 4f 4c 45 5f 41 75 74 6f |..case R|OLE_Auto|
|00000910| 6e 6f 6d 6f 75 73 50 72 | 6f 78 79 3a 20 54 3d 54 |nomousPr|oxy: T=T|
|00000920| 24 22 41 75 74 6f 6e 6f | 6d 6f 75 73 50 72 6f 78 |$"Autono|mousProx|
|00000930| 79 22 3b 20 62 72 65 61 | 6b 3b 0d 0a 09 09 63 61 |y"; brea|k;....ca|
|00000940| 73 65 20 52 4f 4c 45 5f | 41 75 74 68 6f 72 69 74 |se ROLE_|Authorit|
|00000950| 79 3a 20 54 3d 54 24 22 | 41 75 74 68 6f 72 69 74 |y: T=T$"|Authorit|
|00000960| 79 22 3b 20 62 72 65 61 | 6b 3b 0d 0a 09 7d 0d 0a |y"; brea|k;...}..|
|00000970| 0d 0a 09 72 65 74 75 72 | 6e 20 54 3b 0d 0a 7d 0d |...retur|n T;..}.|
|00000980| 0a 0d 0a 73 69 6d 75 6c | 61 74 65 64 20 66 75 6e |...simul|ated fun|
|00000990| 63 74 69 6f 6e 20 53 74 | 72 69 6e 67 20 47 65 74 |ction St|ring Get|
|000009a0| 50 68 79 73 69 63 73 53 | 74 72 69 6e 67 28 29 0d |PhysicsS|tring().|
|000009b0| 0a 7b 0d 0a 09 4c 6f 63 | 61 6c 20 53 74 72 69 6e |.{...Loc|al Strin|
|000009c0| 67 20 54 3b 0d 0a 0d 0a | 09 54 20 3d 20 22 50 68 |g T;....|.T = "Ph|
|000009d0| 79 73 69 63 73 3a 20 22 | 3b 0d 0a 09 53 77 69 74 |ysics: "|;...Swit|
|000009e0| 63 68 28 20 50 61 77 6e | 2e 50 68 79 73 69 63 73 |ch( Pawn|.Physics|
|000009f0| 20 29 0d 0a 09 7b 0d 0a | 09 09 63 61 73 65 20 50 | )...{..|..case P|
|00000a00| 48 59 53 5f 4e 6f 6e 65 | 3a 20 54 3d 54 24 22 4e |HYS_None|: T=T$"N|
|00000a10| 6f 6e 65 22 3b 20 62 72 | 65 61 6b 3b 0d 0a 09 09 |one"; br|eak;....|
|00000a20| 63 61 73 65 20 50 48 59 | 53 5f 57 61 6c 6b 69 6e |case PHY|S_Walkin|
|00000a30| 67 3a 20 54 3d 54 24 22 | 57 61 6c 6b 69 6e 67 22 |g: T=T$"|Walking"|
|00000a40| 3b 20 62 72 65 61 6b 3b | 0d 0a 09 09 63 61 73 65 |; break;|....case|
|00000a50| 20 50 48 59 53 5f 46 61 | 6c 6c 69 6e 67 3a 20 54 | PHYS_Fa|lling: T|
|00000a60| 3d 54 24 22 46 61 6c 6c | 69 6e 67 22 3b 20 62 72 |=T$"Fall|ing"; br|
|00000a70| 65 61 6b 3b 0d 0a 09 09 | 63 61 73 65 20 50 48 59 |eak;....|case PHY|
|00000a80| 53 5f 53 77 69 6d 6d 69 | 6e 67 3a 20 54 3d 54 24 |S_Swimmi|ng: T=T$|
|00000a90| 22 53 77 69 6d 6d 69 6e | 67 22 3b 20 62 72 65 61 |"Swimmin|g"; brea|
|00000aa0| 6b 3b 0d 0a 09 09 63 61 | 73 65 20 50 48 59 53 5f |k;....ca|se PHYS_|
|00000ab0| 46 6c 79 69 6e 67 3a 20 | 54 3d 54 24 22 46 6c 79 |Flying: |T=T$"Fly|
|00000ac0| 69 6e 67 22 3b 20 62 72 | 65 61 6b 3b 0d 0a 09 09 |ing"; br|eak;....|
|00000ad0| 63 61 73 65 20 50 48 59 | 53 5f 52 6f 74 61 74 69 |case PHY|S_Rotati|
|00000ae0| 6e 67 3a 20 54 3d 54 24 | 22 52 6f 74 61 74 69 6e |ng: T=T$|"Rotatin|
|00000af0| 67 22 3b 20 62 72 65 61 | 6b 3b 0d 0a 09 09 63 61 |g"; brea|k;....ca|
|00000b00| 73 65 20 50 48 59 53 5f | 50 72 6f 6a 65 63 74 69 |se PHYS_|Projecti|
|00000b10| 6c 65 3a 20 54 3d 54 24 | 22 50 72 6f 6a 65 63 74 |le: T=T$|"Project|
|00000b20| 69 6c 65 22 3b 20 62 72 | 65 61 6b 3b 0d 0a 09 09 |ile"; br|eak;....|
|00000b30| 63 61 73 65 20 50 48 59 | 53 5f 49 6e 74 65 72 70 |case PHY|S_Interp|
|00000b40| 6f 6c 61 74 69 6e 67 3a | 20 54 3d 54 24 22 49 6e |olating:| T=T$"In|
|00000b50| 74 65 72 70 6f 6c 61 74 | 69 6e 67 22 3b 20 62 72 |terpolat|ing"; br|
|00000b60| 65 61 6b 3b 0d 0a 09 09 | 63 61 73 65 20 50 48 59 |eak;....|case PHY|
|00000b70| 53 5f 4d 6f 76 69 6e 67 | 42 72 75 73 68 3a 20 54 |S_Moving|Brush: T|
|00000b80| 3d 54 24 22 4d 6f 76 69 | 6e 67 42 72 75 73 68 22 |=T$"Movi|ngBrush"|
|00000b90| 3b 20 62 72 65 61 6b 3b | 0d 0a 09 09 63 61 73 65 |; break;|....case|
|00000ba0| 20 50 48 59 53 5f 53 70 | 69 64 65 72 3a 20 54 3d | PHYS_Sp|ider: T=|
|00000bb0| 54 24 22 53 70 69 64 65 | 72 22 3b 20 62 72 65 61 |T$"Spide|r"; brea|
|00000bc0| 6b 3b 0d 0a 09 09 63 61 | 73 65 20 50 48 59 53 5f |k;....ca|se PHYS_|
|00000bd0| 54 72 61 69 6c 65 72 3a | 20 54 3d 54 24 22 54 72 |Trailer:| T=T$"Tr|
|00000be0| 61 69 6c 65 72 22 3b 20 | 62 72 65 61 6b 3b 0d 0a |ailer"; |break;..|
|00000bf0| 09 09 63 61 73 65 20 50 | 48 59 53 5f 4c 61 64 64 |..case P|HYS_Ladd|
|00000c00| 65 72 3a 20 54 3d 54 24 | 22 4c 61 64 64 65 72 22 |er: T=T$|"Ladder"|
|00000c10| 3b 20 62 72 65 61 6b 3b | 0d 0a 09 09 63 61 73 65 |; break;|....case|
|00000c20| 20 50 48 59 53 5f 4b 61 | 72 6d 61 3a 20 54 3d 54 | PHYS_Ka|rma: T=T|
|00000c30| 24 22 4b 61 72 6d 61 22 | 3b 20 62 72 65 61 6b 3b |$"Karma"|; break;|
|00000c40| 0d 0a 09 7d 0d 0a 09 72 | 65 74 75 72 6e 20 54 3b |...}...r|eturn T;|
|00000c50| 0d 0a 7d 0d 0a 0d 0a 2f | 2f 20 56 6f 69 63 65 20 |..}..../|/ Voice |
|00000c60| 63 68 61 74 20 64 65 62 | 75 67 0d 0a 0d 0a 66 75 |chat deb|ug....fu|
|00000c70| 6e 63 74 69 6f 6e 20 53 | 65 72 76 65 72 52 65 71 |nction S|erverReq|
|00000c80| 75 65 73 74 52 75 6c 65 | 73 28 29 0d 0a 7b 0d 0a |uestRule|s()..{..|
|00000c90| 20 09 6c 6f 63 61 6c 20 | 47 61 6d 65 49 6e 66 6f | .local |GameInfo|
|00000ca0| 2e 53 65 72 76 65 72 52 | 65 73 70 6f 6e 73 65 4c |.ServerR|esponseL|
|00000cb0| 69 6e 65 20 52 65 73 70 | 6f 6e 73 65 3b 0d 0a 20 |ine Resp|onse;.. |
|00000cc0| 20 20 20 6c 6f 63 61 6c | 20 69 6e 74 20 69 3b 0d | local| int i;.|
|00000cd0| 0a 0d 0a 0d 0a 20 20 20 | 20 69 66 20 28 20 4c 65 |..... | if ( Le|
|00000ce0| 76 65 6c 2e 50 61 75 73 | 65 72 20 3d 3d 20 4e 6f |vel.Paus|er == No|
|00000cf0| 6e 65 20 26 26 20 4c 65 | 76 65 6c 2e 54 69 6d 65 |ne && Le|vel.Time|
|00000d00| 53 65 63 6f 6e 64 73 20 | 2d 20 4c 61 73 74 52 75 |Seconds |- LastRu|
|00000d10| 6c 65 73 52 65 71 75 65 | 73 74 54 69 6d 65 20 3c |lesReque|stTime <|
|00000d20| 20 33 2e 30 29 0d 0a 20 | 20 20 20 7b 0d 0a 20 20 | 3.0).. | {.. |
|00000d30| 20 20 09 6c 6f 67 28 22 | 53 65 72 76 65 72 52 65 | .log("|ServerRe|
|00000d40| 71 75 65 73 74 52 75 6c | 65 73 20 4c 65 76 65 6c |questRul|es Level|
|00000d50| 2e 54 69 6d 65 53 65 63 | 6f 6e 64 73 3a 22 24 4c |.TimeSec|onds:"$L|
|00000d60| 65 76 65 6c 2e 54 69 6d | 65 53 65 63 6f 6e 64 73 |evel.Tim|eSeconds|
|00000d70| 40 22 4c 61 73 74 52 65 | 71 75 65 73 74 54 69 6d |@"LastRe|questTim|
|00000d80| 65 3a 22 24 4c 61 73 74 | 52 75 6c 65 73 52 65 71 |e:"$Last|RulesReq|
|00000d90| 75 65 73 74 54 69 6d 65 | 29 3b 0d 0a 09 09 72 65 |uestTime|);....re|
|00000da0| 74 75 72 6e 3b 0d 0a 09 | 7d 0d 0a 0d 0a 20 20 20 |turn;...|}.... |
|00000db0| 20 4c 61 73 74 52 75 6c | 65 73 52 65 71 75 65 73 | LastRul|esReques|
|00000dc0| 74 54 69 6d 65 20 3d 20 | 4c 65 76 65 6c 2e 54 69 |tTime = |Level.Ti|
|00000dd0| 6d 65 53 65 63 6f 6e 64 | 73 3b 0d 0a 20 20 20 20 |meSecond|s;.. |
|00000de0| 4c 65 76 65 6c 2e 47 61 | 6d 65 2e 47 65 74 53 65 |Level.Ga|me.GetSe|
|00000df0| 72 76 65 72 44 65 74 61 | 69 6c 73 28 52 65 73 70 |rverDeta|ils(Resp|
|00000e00| 6f 6e 73 65 29 3b 0d 0a | 20 20 20 20 43 6c 69 65 |onse);..| Clie|
|00000e10| 6e 74 52 65 63 65 69 76 | 65 52 75 6c 65 28 22 22 |ntReceiv|eRule(""|
|00000e20| 29 3b 0d 0a 20 20 20 20 | 66 6f 72 20 28 69 3d 30 |);.. |for (i=0|
|00000e30| 3b 69 3c 52 65 73 70 6f | 6e 73 65 2e 53 65 72 76 |;i<Respo|nse.Serv|
|00000e40| 65 72 49 6e 66 6f 2e 4c | 65 6e 67 74 68 3b 69 2b |erInfo.L|ength;i+|
|00000e50| 2b 29 0d 0a 09 20 20 20 | 09 43 6c 69 65 6e 74 52 |+)... |.ClientR|
|00000e60| 65 63 65 69 76 65 52 75 | 6c 65 28 52 65 73 70 6f |eceiveRu|le(Respo|
|00000e70| 6e 73 65 2e 53 65 72 76 | 65 72 49 6e 66 6f 5b 69 |nse.Serv|erInfo[i|
|00000e80| 5d 2e 4b 65 79 24 22 3d | 22 24 52 65 73 70 6f 6e |].Key$"=|"$Respon|
|00000e90| 73 65 2e 53 65 72 76 65 | 72 49 6e 66 6f 5b 69 5d |se.Serve|rInfo[i]|
|00000ea0| 2e 56 61 6c 75 65 29 3b | 0d 0a 7d 0d 0a 0d 0a 66 |.Value);|..}....f|
|00000eb0| 75 6e 63 74 69 6f 6e 20 | 43 6c 69 65 6e 74 52 65 |unction |ClientRe|
|00000ec0| 63 65 69 76 65 52 75 6c | 65 28 73 74 72 69 6e 67 |ceiveRul|e(string|
|00000ed0| 20 4e 65 77 52 75 6c 65 | 29 0d 0a 7b 0d 0a 09 50 | NewRule|)..{...P|
|00000ee0| 72 6f 63 65 73 73 52 75 | 6c 65 28 4e 65 77 52 75 |rocessRu|le(NewRu|
|00000ef0| 6c 65 29 3b 0d 0a 7d 0d | 0a 0d 0a 66 75 6e 63 74 |le);..}.|...funct|
|00000f00| 69 6f 6e 20 53 65 72 76 | 65 72 52 65 71 75 65 73 |ion Serv|erReques|
|00000f10| 74 4d 61 70 4c 69 73 74 | 28 29 0d 0a 7b 0d 0a 09 |tMapList|()..{...|
|00000f20| 6c 6f 63 61 6c 20 69 6e | 74 20 78 3b 0d 0a 09 6c |local in|t x;...l|
|00000f30| 6f 63 61 6c 20 61 72 72 | 61 79 3c 73 74 72 69 6e |ocal arr|ay<strin|
|00000f40| 67 3e 20 4d 61 70 4c 69 | 73 74 3b 0d 0a 0d 0a 09 |g> MapLi|st;.....|
|00000f50| 69 66 20 28 20 4c 65 76 | 65 6c 2e 50 61 75 73 65 |if ( Lev|el.Pause|
|00000f60| 72 20 3d 3d 20 4e 6f 6e | 65 20 26 26 0d 0a 09 09 |r == Non|e &&....|
|00000f70| 28 4c 65 76 65 6c 2e 54 | 69 6d 65 53 65 63 6f 6e |(Level.T|imeSecon|
|00000f80| 64 73 20 2d 20 4c 61 73 | 74 4d 61 70 4c 69 73 74 |ds - Las|tMapList|
|00000f90| 52 65 71 75 65 73 74 54 | 69 6d 65 20 3c 20 33 2e |RequestT|ime < 3.|
|00000fa0| 30 20 7c 7c 20 4c 65 76 | 65 6c 2e 47 61 6d 65 2e |0 || Lev|el.Game.|
|00000fb0| 4d 61 70 4c 69 73 74 54 | 79 70 65 20 3d 3d 20 22 |MapListT|ype == "|
|00000fc0| 22 29 20 29 0d 0a 09 09 | 72 65 74 75 72 6e 3b 0d |") )....|return;.|
|00000fd0| 0a 0d 0a 09 4c 61 73 74 | 4d 61 70 4c 69 73 74 52 |....Last|MapListR|
|00000fe0| 65 71 75 65 73 74 54 69 | 6d 65 20 3d 20 4c 65 76 |equestTi|me = Lev|
|00000ff0| 65 6c 2e 54 69 6d 65 53 | 65 63 6f 6e 64 73 3b 0d |el.TimeS|econds;.|
|00001000| 0a 09 4d 61 70 4c 69 73 | 74 20 3d 20 4c 65 76 65 |..MapLis|t = Leve|
|00001010| 6c 2e 47 61 6d 65 2e 47 | 65 74 4d 61 70 52 6f 74 |l.Game.G|etMapRot|
|00001020| 61 74 69 6f 6e 28 29 3b | 0d 0a 0d 0a 09 43 6c 69 |ation();|.....Cli|
|00001030| 65 6e 74 52 65 63 65 69 | 76 65 4d 61 70 4e 61 6d |entRecei|veMapNam|
|00001040| 65 28 22 22 29 3b 0d 0a | 09 66 6f 72 20 28 78 20 |e("");..|.for (x |
|00001050| 3d 20 30 3b 20 78 20 3c | 20 4d 61 70 4c 69 73 74 |= 0; x <| MapList|
|00001060| 2e 6c 65 6e 67 74 68 3b | 20 78 2b 2b 29 0d 0a 09 |.length;| x++)...|
|00001070| 09 43 6c 69 65 6e 74 52 | 65 63 65 69 76 65 4d 61 |.ClientR|eceiveMa|
|00001080| 70 4e 61 6d 65 28 4d 61 | 70 4c 69 73 74 5b 78 5d |pName(Ma|pList[x]|
|00001090| 29 3b 0d 0a 7d 0d 0a 0d | 0a 66 75 6e 63 74 69 6f |);..}...|.functio|
|000010a0| 6e 20 43 6c 69 65 6e 74 | 52 65 63 65 69 76 65 4d |n Client|ReceiveM|
|000010b0| 61 70 4e 61 6d 65 28 73 | 74 72 69 6e 67 20 4e 65 |apName(s|tring Ne|
|000010c0| 77 4d 61 70 29 0d 0a 7b | 0d 0a 09 50 72 6f 63 65 |wMap)..{|...Proce|
|000010d0| 73 73 4d 61 70 4e 61 6d | 65 28 4e 65 77 4d 61 70 |ssMapNam|e(NewMap|
|000010e0| 29 3b 0d 0a 7d 0d 0a 0d | 0a 66 75 6e 63 74 69 6f |);..}...|.functio|
|000010f0| 6e 20 53 74 6f 70 46 69 | 72 69 6e 67 28 29 0d 0a |n StopFi|ring()..|
|00001100| 7b 0d 0a 7d 0d 0a 0d 0a | 73 69 6d 75 6c 61 74 65 |{..}....|simulate|
|00001110| 64 20 66 75 6e 63 74 69 | 6f 6e 20 50 6c 61 79 42 |d functi|on PlayB|
|00001120| 65 65 70 53 6f 75 6e 64 | 28 29 0d 0a 7b 0d 0a 09 |eepSound|()..{...|
|00001130| 69 66 20 28 20 56 69 65 | 77 54 61 72 67 65 74 20 |if ( Vie|wTarget |
|00001140| 21 3d 20 4e 6f 6e 65 20 | 29 0d 0a 09 09 56 69 65 |!= None |)....Vie|
|00001150| 77 54 61 72 67 65 74 2e | 50 6c 61 79 53 6f 75 6e |wTarget.|PlaySoun|
|00001160| 64 28 73 6f 75 6e 64 27 | 4d 65 6e 75 53 6f 75 6e |d(sound'|MenuSoun|
|00001170| 64 73 2e 73 65 6c 65 63 | 74 4a 27 2c 20 53 4c 4f |ds.selec|tJ', SLO|
|00001180| 54 5f 4e 6f 6e 65 2c 2c | 2c 2c 2c 66 61 6c 73 65 |T_None,,|,,,false|
|00001190| 29 3b 0d 0a 7d 0d 0a 0d | 0a 73 69 6d 75 6c 61 74 |);..}...|.simulat|
|000011a0| 65 64 20 66 75 6e 63 74 | 69 6f 6e 20 66 6c 6f 61 |ed funct|ion floa|
|000011b0| 74 20 52 61 74 65 57 65 | 61 70 6f 6e 28 57 65 61 |t RateWe|apon(Wea|
|000011c0| 70 6f 6e 20 77 29 0d 0a | 7b 0d 0a 20 20 20 20 72 |pon w)..|{.. r|
|000011d0| 65 74 75 72 6e 20 77 2e | 44 65 66 61 75 6c 74 2e |eturn w.|Default.|
|000011e0| 50 72 69 6f 72 69 74 79 | 3b 0d 0a 7d 0d 0a 0d 0a |Priority|;..}....|
|000011f0| 65 78 65 63 20 66 75 6e | 63 74 69 6f 6e 20 4c 33 |exec fun|ction L3|
|00001200| 33 54 50 68 72 61 73 65 | 28 20 69 6e 74 20 70 68 |3TPhrase|( int ph|
|00001210| 72 61 73 65 4e 75 6d 20 | 29 0d 0a 7b 0d 0a 09 53 |raseNum |)..{...S|
|00001220| 65 6e 64 4d 65 73 73 61 | 67 65 28 4e 6f 6e 65 2c |endMessa|ge(None,|
|00001230| 20 27 48 49 44 44 45 4e | 27 2c 20 70 68 72 61 73 | 'HIDDEN|', phras|
|00001240| 65 4e 75 6d 2c 20 35 2c | 20 27 47 4c 4f 42 41 4c |eNum, 5,| 'GLOBAL|
|00001250| 27 29 3b 0d 0a 7d 0d 0a | 0d 0a 73 69 6d 75 6c 61 |');..}..|..simula|
|00001260| 74 65 64 20 65 76 65 6e | 74 20 50 6f 73 74 42 65 |ted even|t PostBe|
|00001270| 67 69 6e 50 6c 61 79 28 | 29 0d 0a 7b 0d 0a 20 20 |ginPlay(|)..{.. |
|00001280| 20 20 6c 6f 63 61 6c 20 | 69 6e 74 20 63 3b 0d 0a | local |int c;..|
|00001290| 0d 0a 20 20 20 20 53 75 | 70 65 72 2e 50 6f 73 74 |.. Su|per.Post|
|000012a0| 42 65 67 69 6e 50 6c 61 | 79 28 29 3b 0d 0a 0d 0a |BeginPla|y();....|
|000012b0| 20 20 20 20 66 6f 72 20 | 28 63 20 3d 20 30 3b 20 | for |(c = 0; |
|000012c0| 63 20 3c 20 41 72 72 61 | 79 43 6f 75 6e 74 28 43 |c < Arra|yCount(C|
|000012d0| 6f 6d 62 6f 4c 69 73 74 | 29 3b 20 63 2b 2b 29 0d |omboList|); c++).|
|000012e0| 0a 20 20 20 20 7b 0d 0a | 20 20 20 20 20 20 20 20 |. {..| |
|000012f0| 69 66 20 28 20 43 6f 6d | 62 6f 4e 61 6d 65 4c 69 |if ( Com|boNameLi|
|00001300| 73 74 5b 63 5d 20 21 3d | 20 22 22 20 29 0d 0a 20 |st[c] !=| "" ).. |
|00001310| 20 20 20 20 20 20 20 7b | 0d 0a 20 09 09 09 43 6f | {|.. ...Co|
|00001320| 6d 62 6f 4c 69 73 74 5b | 63 5d 20 3d 20 63 6c 61 |mboList[|c] = cla|
|00001330| 73 73 3c 43 6f 6d 62 6f | 3e 28 44 79 6e 61 6d 69 |ss<Combo|>(Dynami|
|00001340| 63 4c 6f 61 64 4f 62 6a | 65 63 74 28 43 6f 6d 62 |cLoadObj|ect(Comb|
|00001350| 6f 4e 61 6d 65 4c 69 73 | 74 5b 63 5d 2c 63 6c 61 |oNameLis|t[c],cla|
|00001360| 73 73 27 43 6c 61 73 73 | 27 29 29 3b 0d 0a 09 09 |ss'Class|'));....|
|00001370| 09 69 66 20 28 20 43 6f | 6d 62 6f 4c 69 73 74 5b |.if ( Co|mboList[|
|00001380| 63 5d 20 3d 3d 20 4e 6f | 6e 65 20 29 0d 0a 09 09 |c] == No|ne )....|
|00001390| 09 09 62 72 65 61 6b 3b | 0d 0a 09 09 09 4d 69 6e |..break;|.....Min|
|000013a0| 41 64 72 65 6e 61 6c 69 | 6e 65 43 6f 73 74 20 3d |Adrenali|neCost =|
|000013b0| 20 46 4d 69 6e 28 4d 69 | 6e 41 64 72 65 6e 61 6c | FMin(Mi|nAdrenal|
|000013c0| 69 6e 65 43 6f 73 74 2c | 43 6f 6d 62 6f 4c 69 73 |ineCost,|ComboLis|
|000013d0| 74 5b 63 5d 2e 44 65 66 | 61 75 6c 74 2e 41 64 72 |t[c].Def|ault.Adr|
|000013e0| 65 6e 61 6c 69 6e 65 43 | 6f 73 74 29 3b 0d 0a 09 |enalineC|ost);...|
|000013f0| 09 7d 0d 0a 20 20 20 20 | 7d 0d 0a 20 20 20 20 46 |.}.. |}.. F|
|00001400| 69 6c 6c 43 61 6d 65 72 | 61 4c 69 73 74 28 29 3b |illCamer|aList();|
|00001410| 0d 0a 20 20 20 20 4c 61 | 73 74 4b 69 6c 6c 54 69 |.. La|stKillTi|
|00001420| 6d 65 20 3d 20 2d 35 2e | 30 3b 0d 0a 7d 0d 0a 0d |me = -5.|0;..}...|
|00001430| 0a 73 69 6d 75 6c 61 74 | 65 64 20 65 76 65 6e 74 |.simulat|ed event|
|00001440| 20 50 6f 73 74 4e 65 74 | 42 65 67 69 6e 50 6c 61 | PostNet|BeginPla|
|00001450| 79 28 29 0d 0a 7b 0d 0a | 09 73 75 70 65 72 2e 50 |y()..{..|.super.P|
|00001460| 6f 73 74 4e 65 74 42 65 | 67 69 6e 50 6c 61 79 28 |ostNetBe|ginPlay(|
|00001470| 29 3b 0d 0a 09 69 66 20 | 28 20 4c 65 76 65 6c 2e |);...if |( Level.|
|00001480| 4e 65 74 4d 6f 64 65 20 | 21 3d 20 4e 4d 5f 44 65 |NetMode |!= NM_De|
|00001490| 64 69 63 61 74 65 64 53 | 65 72 76 65 72 20 29 0d |dicatedS|erver ).|
|000014a0| 0a 09 09 53 65 72 76 65 | 72 53 65 74 43 6c 61 73 |...Serve|rSetClas|
|000014b0| 73 69 63 54 72 61 6e 73 | 28 62 43 6c 61 73 73 69 |sicTrans|(bClassi|
|000014c0| 63 54 72 61 6e 73 29 3b | 0d 0a 7d 0d 0a 0d 0a 66 |cTrans);|..}....f|
|000014d0| 75 6e 63 74 69 6f 6e 20 | 53 65 72 76 65 72 53 65 |unction |ServerSe|
|000014e0| 74 43 6c 61 73 73 69 63 | 54 72 61 6e 73 28 62 6f |tClassic|Trans(bo|
|000014f0| 6f 6c 20 42 29 0d 0a 7b | 0d 0a 09 62 48 69 67 68 |ol B)..{|...bHigh|
|00001500| 42 65 61 63 6f 6e 54 72 | 61 6a 65 63 74 6f 72 79 |BeaconTr|ajectory|
|00001510| 20 3d 20 42 3b 0d 0a 7d | 0d 0a 0d 0a 73 69 6d 75 | = B;..}|....simu|
|00001520| 6c 61 74 65 64 20 66 75 | 6e 63 74 69 6f 6e 20 43 |lated fu|nction C|
|00001530| 6c 69 65 6e 74 52 65 63 | 65 69 76 65 43 6f 6d 62 |lientRec|eiveComb|
|00001540| 6f 28 73 74 72 69 6e 67 | 20 4e 65 77 43 6f 6d 62 |o(string| NewComb|
|00001550| 6f 29 0d 0a 7b 0d 0a 09 | 6c 6f 63 61 6c 20 69 6e |o)..{...|local in|
|00001560| 74 20 69 3b 0d 0a 0d 0a | 09 66 6f 72 20 28 20 69 |t i;....|.for ( i|
|00001570| 3d 30 3b 20 69 3c 31 36 | 3b 20 69 2b 2b 20 29 0d |=0; i<16|; i++ ).|
|00001580| 0a 09 7b 0d 0a 09 09 69 | 66 20 28 20 43 6f 6d 62 |..{....i|f ( Comb|
|00001590| 6f 4e 61 6d 65 4c 69 73 | 74 5b 69 5d 20 7e 3d 20 |oNameLis|t[i] ~= |
|000015a0| 4e 65 77 43 6f 6d 62 6f | 20 29 0d 0a 09 09 09 72 |NewCombo| ).....r|
|000015b0| 65 74 75 72 6e 3b 0d 0a | 09 09 65 6c 73 65 20 69 |eturn;..|..else i|
|000015c0| 66 20 28 20 43 6f 6d 62 | 6f 4e 61 6d 65 4c 69 73 |f ( Comb|oNameLis|
|000015d0| 74 5b 69 5d 20 3d 3d 20 | 22 22 20 29 0d 0a 09 09 |t[i] == |"" )....|
|000015e0| 7b 0d 0a 09 09 09 43 6f | 6d 62 6f 4e 61 6d 65 4c |{.....Co|mboNameL|
|000015f0| 69 73 74 5b 69 5d 20 3d | 20 4e 65 77 43 6f 6d 62 |ist[i] =| NewComb|
|00001600| 6f 3b 0d 0a 20 09 09 09 | 43 6f 6d 62 6f 4c 69 73 |o;.. ...|ComboLis|
|00001610| 74 5b 69 5d 20 3d 20 63 | 6c 61 73 73 3c 43 6f 6d |t[i] = c|lass<Com|
|00001620| 62 6f 3e 28 44 79 6e 61 | 6d 69 63 4c 6f 61 64 4f |bo>(Dyna|micLoadO|
|00001630| 62 6a 65 63 74 28 43 6f | 6d 62 6f 4e 61 6d 65 4c |bject(Co|mboNameL|
|00001640| 69 73 74 5b 69 5d 2c 63 | 6c 61 73 73 27 43 6c 61 |ist[i],c|lass'Cla|
|00001650| 73 73 27 29 29 3b 0d 0a | 09 09 09 69 66 20 28 20 |ss'));..|...if ( |
|00001660| 43 6f 6d 62 6f 4c 69 73 | 74 5b 69 5d 20 3d 3d 20 |ComboLis|t[i] == |
|00001670| 4e 6f 6e 65 20 29 0d 0a | 09 09 09 09 72 65 74 75 |None )..|....retu|
|00001680| 72 6e 3b 0d 0a 09 09 09 | 4d 69 6e 41 64 72 65 6e |rn;.....|MinAdren|
|00001690| 61 6c 69 6e 65 43 6f 73 | 74 20 3d 20 46 4d 69 6e |alineCos|t = FMin|
|000016a0| 28 4d 69 6e 41 64 72 65 | 6e 61 6c 69 6e 65 43 6f |(MinAdre|nalineCo|
|000016b0| 73 74 2c 43 6f 6d 62 6f | 4c 69 73 74 5b 69 5d 2e |st,Combo|List[i].|
|000016c0| 44 65 66 61 75 6c 74 2e | 41 64 72 65 6e 61 6c 69 |Default.|Adrenali|
|000016d0| 6e 65 43 6f 73 74 29 3b | 0d 0a 09 09 09 72 65 74 |neCost);|.....ret|
|000016e0| 75 72 6e 3b 0d 0a 09 09 | 7d 0d 0a 09 7d 0d 0a 7d |urn;....|}...}..}|
|000016f0| 0d 0a 0d 0a 65 76 65 6e | 74 20 50 6c 61 79 65 72 |....even|t Player|
|00001700| 54 69 63 6b 28 20 66 6c | 6f 61 74 20 44 65 6c 74 |Tick( fl|oat Delt|
|00001710| 61 54 69 6d 65 20 29 0d | 0a 7b 0d 0a 20 20 20 20 |aTime ).|.{.. |
|00001720| 6c 6f 63 61 6c 20 69 6e | 74 20 43 75 72 72 65 6e |local in|t Curren|
|00001730| 74 4b 65 79 2c 20 44 69 | 66 66 4b 65 79 3b 0d 0a |tKey, Di|ffKey;..|
|00001740| 20 20 20 20 6c 6f 63 61 | 6c 20 69 6e 74 20 63 2c | loca|l int c,|
|00001750| 20 69 3b 0d 0a 09 6c 6f | 63 61 6c 20 62 6f 6f 6c | i;...lo|cal bool|
|00001760| 20 62 46 75 6c 6c 42 75 | 66 66 65 72 2c 62 4d 61 | bFullBu|ffer,bMa|
|00001770| 74 63 68 3b 0d 0a 0d 0a | 09 53 75 70 65 72 2e 50 |tch;....|.Super.P|
|00001780| 6c 61 79 65 72 54 69 63 | 6b 28 44 65 6c 74 61 54 |layerTic|k(DeltaT|
|00001790| 69 6d 65 29 3b 0d 0a 0d | 0a 20 20 20 20 69 66 20 |ime);...|. if |
|000017a0| 28 20 28 50 61 77 6e 20 | 3d 3d 20 4e 6f 6e 65 29 |( (Pawn |== None)|
|000017b0| 20 7c 7c 20 21 62 41 64 | 72 65 6e 61 6c 69 6e 65 | || !bAd|renaline|
|000017c0| 45 6e 61 62 6c 65 64 20 | 7c 7c 20 28 41 64 72 65 |Enabled ||| (Adre|
|000017d0| 6e 61 6c 69 6e 65 20 3c | 20 4d 69 6e 41 64 72 65 |naline <| MinAdre|
|000017e0| 6e 61 6c 69 6e 65 43 6f | 73 74 29 20 29 0d 0a 20 |nalineCo|st) ).. |
|000017f0| 20 20 20 7b 0d 0a 09 09 | 49 6e 70 75 74 48 69 73 | {....|InputHis|
|00001800| 74 6f 72 79 5b 30 5d 20 | 3d 20 30 3b 0d 0a 09 09 |tory[0] |= 0;....|
|00001810| 72 65 74 75 72 6e 3b 0d | 0a 09 7d 0d 0a 20 20 20 |return;.|..}.. |
|00001820| 20 43 75 72 72 65 6e 74 | 4b 65 79 20 3d 20 30 3b | Current|Key = 0;|
|00001830| 0d 0a 0d 0a 20 20 20 20 | 69 66 20 28 61 46 6f 72 |.... |if (aFor|
|00001840| 77 61 72 64 20 3e 20 30 | 29 09 09 43 75 72 72 65 |ward > 0|)..Curre|
|00001850| 6e 74 4b 65 79 20 3d 20 | 43 75 72 72 65 6e 74 4b |ntKey = |CurrentK|
|00001860| 65 79 20 7c 20 31 3b 20 | 2f 2f 20 43 4b 5f 55 70 |ey | 1; |// CK_Up|
|00001870| 0d 0a 20 20 20 20 65 6c | 73 65 20 69 66 20 28 61 |.. el|se if (a|
|00001880| 46 6f 72 77 61 72 64 20 | 3c 20 30 29 20 20 43 75 |Forward |< 0) Cu|
|00001890| 72 72 65 6e 74 4b 65 79 | 20 3d 20 43 75 72 72 65 |rrentKey| = Curre|
|000018a0| 6e 74 4b 65 79 20 7c 20 | 32 3b 20 2f 2f 20 43 4b |ntKey | |2; // CK|
|000018b0| 5f 44 6f 77 6e 0d 0a 20 | 20 20 20 69 66 20 28 61 |_Down.. | if (a|
|000018c0| 53 74 72 61 66 65 20 3e | 20 30 29 09 09 43 75 72 |Strafe >| 0)..Cur|
|000018d0| 72 65 6e 74 4b 65 79 20 | 3d 20 43 75 72 72 65 6e |rentKey |= Curren|
|000018e0| 74 4b 65 79 20 7c 20 34 | 3b 20 2f 2f 20 43 4b 5f |tKey | 4|; // CK_|
|000018f0| 4c 65 66 74 0d 0a 20 20 | 20 20 65 6c 73 65 20 69 |Left.. | else i|
|00001900| 66 20 28 61 53 74 72 61 | 66 65 20 3c 20 30 29 20 |f (aStra|fe < 0) |
|00001910| 20 20 43 75 72 72 65 6e | 74 4b 65 79 20 3d 20 43 | Curren|tKey = C|
|00001920| 75 72 72 65 6e 74 4b 65 | 79 20 7c 20 38 3b 20 2f |urrentKe|y | 8; /|
|00001930| 2f 20 43 4b 5f 52 69 67 | 68 74 0d 0a 0d 0a 20 20 |/ CK_Rig|ht.... |
|00001940| 20 20 69 66 20 28 20 43 | 75 72 72 65 6e 74 4b 65 | if ( C|urrentKe|
|00001950| 79 20 21 3d 20 4f 6c 64 | 4b 65 79 20 29 0d 0a 20 |y != Old|Key ).. |
|00001960| 20 20 20 7b 0d 0a 20 20 | 20 20 20 20 20 20 44 69 | {.. | Di|
|00001970| 66 66 4b 65 79 20 3d 20 | 43 75 72 72 65 6e 74 4b |ffKey = |CurrentK|
|00001980| 65 79 20 26 20 7e 4f 6c | 64 4b 65 79 3b 20 2f 2f |ey & ~Ol|dKey; //|
|00001990| 20 6b 65 79 73 20 74 68 | 61 74 20 61 72 65 20 70 | keys th|at are p|
|000019a0| 72 65 73 73 65 64 20 6e | 6f 77 20 62 75 74 20 77 |ressed n|ow but w|
|000019b0| 65 72 65 20 6e 6f 74 20 | 6c 61 73 74 20 66 72 61 |ere not |last fra|
|000019c0| 6d 65 0d 0a 0d 0a 20 20 | 20 20 20 20 20 20 69 66 |me.... | if|
|000019d0| 20 28 44 69 66 66 4b 65 | 79 20 21 3d 20 30 29 0d | (DiffKe|y != 0).|
|000019e0| 0a 20 20 20 20 20 20 20 | 20 7b 0d 0a 20 20 20 20 |. | {.. |
|000019f0| 20 20 20 20 20 20 20 20 | 69 66 20 28 4c 65 76 65 | |if (Leve|
|00001a00| 6c 2e 54 69 6d 65 53 65 | 63 6f 6e 64 73 20 2d 20 |l.TimeSe|conds - |
|00001a10| 4c 61 73 74 4b 65 79 54 | 69 6d 65 20 3c 20 4d 69 |LastKeyT|ime < Mi|
|00001a20| 6e 43 6f 6d 62 6f 4b 65 | 79 54 69 6d 65 29 20 2f |nComboKe|yTime) /|
|00001a30| 2f 20 69 66 20 74 68 65 | 20 74 69 6d 65 20 77 61 |/ if the| time wa|
|00001a40| 73 20 74 6f 6f 20 73 68 | 6f 72 74 20 62 65 74 77 |s too sh|ort betw|
|00001a50| 65 65 6e 20 74 68 65 20 | 6c 61 73 74 20 6b 65 79 |een the |last key|
|00001a60| 70 72 65 73 73 2c 20 63 | 6f 6e 73 69 64 65 72 20 |press, c|onsider |
|00001a70| 69 74 20 61 20 64 6f 75 | 62 6c 65 20 70 72 65 73 |it a dou|ble pres|
|00001a80| 73 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 7b |s.. | {|
|00001a90| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.. | |
|00001aa0| 20 20 49 6e 70 75 74 48 | 69 73 74 6f 72 79 5b 30 | InputH|istory[0|
|00001ab0| 5d 20 3d 20 49 6e 70 75 | 74 48 69 73 74 6f 72 79 |] = Inpu|tHistory|
|00001ac0| 5b 30 5d 20 7c 20 44 69 | 66 66 4b 65 79 3b 0d 0a |[0] | Di|ffKey;..|
|00001ad0| 20 20 20 20 20 20 20 20 | 20 20 20 20 7d 0d 0a 20 | | }.. |
|00001ae0| 20 20 20 20 20 20 20 20 | 20 20 20 65 6c 73 65 20 | | else |
|00001af0| 69 66 20 28 4c 65 76 65 | 6c 2e 54 69 6d 65 53 65 |if (Leve|l.TimeSe|
|00001b00| 63 6f 6e 64 73 20 2d 20 | 4c 61 73 74 4b 65 79 54 |conds - |LastKeyT|
|00001b10| 69 6d 65 20 3e 20 4d 61 | 78 43 6f 6d 62 6f 4b 65 |ime > Ma|xComboKe|
|00001b20| 79 54 69 6d 65 29 20 2f | 2f 20 77 69 70 65 20 74 |yTime) /|/ wipe t|
|00001b30| 68 65 20 62 75 66 66 65 | 72 20 69 66 20 74 6f 6f |he buffe|r if too|
|00001b40| 20 6c 6f 6e 67 20 73 69 | 6e 63 65 20 6c 61 73 74 | long si|nce last|
|00001b50| 20 6b 65 79 70 72 65 73 | 73 0d 0a 20 20 20 20 20 | keypres|s.. |
|00001b60| 20 20 20 20 20 20 20 7b | 0d 0a 20 20 20 20 20 20 | {|.. |
|00001b70| 20 20 20 20 20 20 20 20 | 20 20 49 6e 70 75 74 48 | | InputH|
|00001b80| 69 73 74 6f 72 79 5b 30 | 5d 20 3d 20 44 69 66 66 |istory[0|] = Diff|
|00001b90| 6b 65 79 3b 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |key;.. | |
|00001ba0| 20 20 20 20 20 20 49 6e | 70 75 74 48 69 73 74 6f | In|putHisto|
|00001bb0| 72 79 5b 31 5d 20 3d 20 | 30 3b 0d 0a 20 20 20 20 |ry[1] = |0;.. |
|00001bc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 4c 61 73 74 | | Last|
|00001bd0| 4b 65 79 54 69 6d 65 20 | 3d 20 4c 65 76 65 6c 2e |KeyTime |= Level.|
|00001be0| 54 69 6d 65 53 65 63 6f | 6e 64 73 3b 0d 0a 20 20 |TimeSeco|nds;.. |
|00001bf0| 20 20 20 20 20 20 20 20 | 20 20 7d 0d 0a 20 20 20 | | }.. |
|00001c00| 20 20 20 20 20 20 20 20 | 20 65 6c 73 65 0d 0a 20 | | else.. |
|00001c10| 20 20 20 20 20 20 20 20 | 20 20 20 7b 0d 0a 09 09 | | {....|
|00001c20| 09 09 62 46 75 6c 6c 42 | 75 66 66 65 72 20 3d 20 |..bFullB|uffer = |
|00001c30| 74 72 75 65 3b 0d 0a 20 | 20 20 20 20 20 20 20 20 |true;.. | |
|00001c40| 20 20 20 20 20 20 20 66 | 6f 72 20 28 20 69 3d 33 | f|or ( i=3|
|00001c50| 3b 20 69 3e 30 3b 20 69 | 2d 2d 20 29 0d 0a 20 20 |; i>0; i|-- ).. |
|00001c60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 7b 0d | | {.|
|00001c70| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00001c80| 20 20 20 20 20 49 6e 70 | 75 74 48 69 73 74 6f 72 | Inp|utHistor|
|00001c90| 79 5b 69 5d 20 3d 20 49 | 6e 70 75 74 48 69 73 74 |y[i] = I|nputHist|
|00001ca0| 6f 72 79 5b 69 20 2d 20 | 31 5d 3b 0d 0a 20 20 20 |ory[i - |1];.. |
|00001cb0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001cc0| 20 69 66 20 28 20 49 6e | 70 75 74 48 69 73 74 6f | if ( In|putHisto|
|00001cd0| 72 79 5b 69 5d 20 3d 3d | 20 30 20 29 0d 0a 09 09 |ry[i] ==| 0 )....|
|00001ce0| 09 09 09 09 62 46 75 6c | 6c 42 75 66 66 65 72 20 |....bFul|lBuffer |
|00001cf0| 3d 20 66 61 6c 73 65 3b | 0d 0a 09 09 09 09 7d 0d |= false;|......}.|
|00001d00| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00001d10| 20 49 6e 70 75 74 48 69 | 73 74 6f 72 79 5b 30 5d | InputHi|story[0]|
|00001d20| 20 3d 20 44 69 66 66 4b | 65 79 3b 0d 0a 20 20 20 | = DiffK|ey;.. |
|00001d30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 4c 61 73 | | Las|
|00001d40| 74 4b 65 79 54 69 6d 65 | 20 3d 20 4c 65 76 65 6c |tKeyTime| = Level|
|00001d50| 2e 54 69 6d 65 53 65 63 | 6f 6e 64 73 3b 0d 0a 20 |.TimeSec|onds;.. |
|00001d60| 20 20 20 20 20 20 20 20 | 20 20 20 7d 0d 0a 0d 0a | | }....|
|00001d70| 20 20 20 20 20 20 20 20 | 20 20 20 20 2f 2f 20 63 | | // c|
|00001d80| 68 65 63 6b 20 66 6f 72 | 20 63 6f 6d 62 6f 20 6d |heck for| combo m|
|00001d90| 61 74 63 68 65 73 0d 0a | 20 20 20 20 20 20 20 20 |atches..| |
|00001da0| 20 20 20 20 69 66 20 28 | 20 62 46 75 6c 6c 42 75 | if (| bFullBu|
|00001db0| 66 66 65 72 20 29 0d 0a | 20 20 20 20 20 20 20 20 |ffer )..| |
|00001dc0| 20 20 20 20 7b 0d 0a 20 | 20 20 20 20 20 20 20 20 | {.. | |
|00001dd0| 20 20 20 20 20 20 20 66 | 6f 72 20 28 20 63 3d 30 | f|or ( c=0|
|00001de0| 3b 20 63 3c 31 36 3b 20 | 63 2b 2b 20 29 0d 0a 20 |; c<16; |c++ ).. |
|00001df0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 7b | | {|
|00001e00| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.. | |
|00001e10| 20 20 20 20 20 20 69 66 | 20 28 20 43 6f 6d 62 6f | if| ( Combo|
|00001e20| 4c 69 73 74 5b 63 5d 20 | 3d 3d 20 4e 6f 6e 65 20 |List[c] |== None |
|00001e30| 29 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |).. | |
|00001e40| 20 20 20 20 20 20 20 20 | 20 20 20 62 72 65 61 6b | | break|
|00001e50| 3b 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;.. | |
|00001e60| 20 20 20 20 20 20 20 65 | 6c 73 65 20 69 66 20 28 | e|lse if (|
|00001e70| 20 28 43 6f 6d 62 6f 4c | 69 73 74 5b 63 5d 2e 44 | (ComboL|ist[c].D|
|00001e80| 65 66 61 75 6c 74 2e 73 | 70 65 63 69 65 73 20 3d |efault.s|pecies =|
|00001e90| 3d 20 4e 6f 6e 65 29 20 | 7c 7c 20 28 43 6f 6d 62 |= None) ||| (Comb|
|00001ea0| 6f 4c 69 73 74 5b 63 5d | 2e 44 65 66 61 75 6c 74 |oList[c]|.Default|
|00001eb0| 2e 73 70 65 63 69 65 73 | 20 3d 3d 20 78 50 61 77 |.species| == xPaw|
|00001ec0| 6e 28 50 61 77 6e 29 2e | 53 70 65 63 69 65 73 29 |n(Pawn).|Species)|
|00001ed0| 20 29 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 | ).. | |
|00001ee0| 20 20 20 20 20 20 20 20 | 7b 0d 0a 09 09 09 09 09 | |{.......|
|00001ef0| 09 62 4d 61 74 63 68 20 | 3d 20 74 72 75 65 3b 0d |.bMatch |= true;.|
|00001f00| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00001f10| 20 20 20 20 20 20 20 20 | 20 66 6f 72 20 28 20 69 | | for ( i|
|00001f20| 3d 30 3b 20 69 20 3c 34 | 3b 20 69 2b 2b 29 0d 0a |=0; i <4|; i++)..|
|00001f30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001f40| 20 20 20 20 20 20 20 20 | 20 20 20 20 69 66 20 28 | | if (|
|00001f50| 20 49 6e 70 75 74 48 69 | 73 74 6f 72 79 5b 69 5d | InputHi|story[i]|
|00001f60| 20 21 3d 20 43 6f 6d 62 | 6f 4c 69 73 74 5b 63 5d | != Comb|oList[c]|
|00001f70| 2e 44 65 66 61 75 6c 74 | 2e 6b 65 79 73 5b 69 5d |.Default|.keys[i]|
|00001f80| 20 29 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 | ).. | |
|00001f90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001fa0| 7b 0d 0a 09 09 09 09 09 | 09 09 09 62 4d 61 74 63 |{.......|...bMatc|
|00001fb0| 68 20 3d 20 66 61 6c 73 | 65 3b 0d 0a 20 20 20 20 |h = fals|e;.. |
|00001fc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001fd0| 20 20 20 20 20 20 20 20 | 20 20 20 20 62 72 65 61 | | brea|
|00001fe0| 6b 3b 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |k;.. | |
|00001ff0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002000| 7d 0d 0a 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |}.... | |
|00002010| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 69 66 20 | | if |
|00002020| 28 20 62 4d 61 74 63 68 | 20 29 0d 0a 20 20 20 20 |( bMatch| ).. |
|00002030| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002040| 20 20 20 20 7b 0d 0a 20 | 20 20 20 20 20 20 20 20 | {.. | |
|00002050| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002060| 20 20 20 44 6f 43 6f 6d | 62 6f 28 43 6f 6d 62 6f | DoCom|bo(Combo|
|00002070| 4c 69 73 74 5b 63 5d 29 | 3b 0d 0a 20 20 20 20 20 |List[c])|;.. |
|00002080| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002090| 20 20 20 20 20 20 20 49 | 6e 70 75 74 48 69 73 74 | I|nputHist|
|000020a0| 6f 72 79 5b 30 5d 20 3d | 20 30 3b 0d 0a 20 20 20 |ory[0] =| 0;.. |
|000020b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000020c0| 20 20 20 20 20 7d 0d 0a | 20 20 20 20 20 20 20 20 | }..| |
|000020d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 7d 0d 0a 20 | | }.. |
|000020e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 7d | | }|
|000020f0| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 7d 0d |.. | }.|
|00002100| 0a 20 20 20 20 20 20 20 | 20 7d 0d 0a 0d 0a 20 20 |. | }.... |
|00002110| 20 20 20 20 20 20 4f 6c | 64 4b 65 79 20 3d 20 43 | Ol|dKey = C|
|00002120| 75 72 72 65 6e 74 4b 65 | 79 3b 0d 0a 20 20 20 20 |urrentKe|y;.. |
|00002130| 7d 0d 0a 7d 0d 0a 0d 0a | 66 75 6e 63 74 69 6f 6e |}..}....|function|
|00002140| 20 44 6f 43 6f 6d 62 6f | 28 20 63 6c 61 73 73 3c | DoCombo|( class<|
|00002150| 43 6f 6d 62 6f 3e 20 43 | 6f 6d 62 6f 43 6c 61 73 |Combo> C|omboClas|
|00002160| 73 20 29 0d 0a 7b 0d 0a | 20 20 20 20 69 66 20 28 |s )..{..| if (|
|00002170| 41 64 72 65 6e 61 6c 69 | 6e 65 20 3e 3d 20 43 6f |Adrenali|ne >= Co|
|00002180| 6d 62 6f 43 6c 61 73 73 | 2e 64 65 66 61 75 6c 74 |mboClass|.default|
|00002190| 2e 41 64 72 65 6e 61 6c | 69 6e 65 43 6f 73 74 20 |.Adrenal|ineCost |
|000021a0| 26 26 20 21 50 61 77 6e | 2e 49 6e 43 75 72 72 65 |&& !Pawn|.InCurre|
|000021b0| 6e 74 43 6f 6d 62 6f 28 | 29 20 29 0d 0a 20 20 20 |ntCombo(|) ).. |
|000021c0| 20 7b 0d 0a 20 20 20 20 | 20 20 20 20 53 65 72 76 | {.. | Serv|
|000021d0| 65 72 44 6f 43 6f 6d 62 | 6f 28 20 43 6f 6d 62 6f |erDoComb|o( Combo|
|000021e0| 43 6c 61 73 73 20 29 3b | 0d 0a 20 20 20 20 7d 0d |Class );|.. }.|
|000021f0| 0a 7d 0d 0a 0d 0a 66 75 | 6e 63 74 69 6f 6e 20 53 |.}....fu|nction S|
|00002200| 65 72 76 65 72 44 6f 43 | 6f 6d 62 6f 28 20 63 6c |erverDoC|ombo( cl|
|00002210| 61 73 73 3c 43 6f 6d 62 | 6f 3e 20 43 6f 6d 62 6f |ass<Comb|o> Combo|
|00002220| 43 6c 61 73 73 20 29 0d | 0a 7b 0d 0a 09 69 66 20 |Class ).|.{...if |
|00002230| 28 20 28 43 6f 6d 62 6f | 43 6c 61 73 73 20 3d 3d |( (Combo|Class ==|
|00002240| 20 4e 6f 6e 65 29 20 7c | 7c 20 28 78 50 61 77 6e | None) ||| (xPawn|
|00002250| 28 50 61 77 6e 29 20 3d | 3d 20 4e 6f 6e 65 29 20 |(Pawn) =|= None) |
|00002260| 29 0d 0a 09 09 72 65 74 | 75 72 6e 3b 0d 0a 20 20 |)....ret|urn;.. |
|00002270| 20 20 69 66 20 28 41 64 | 72 65 6e 61 6c 69 6e 65 | if (Ad|renaline|
|00002280| 20 3e 3d 20 43 6f 6d 62 | 6f 43 6c 61 73 73 2e 64 | >= Comb|oClass.d|
|00002290| 65 66 61 75 6c 74 2e 41 | 64 72 65 6e 61 6c 69 6e |efault.A|drenalin|
|000022a0| 65 43 6f 73 74 20 26 26 | 20 21 50 61 77 6e 2e 49 |eCost &&| !Pawn.I|
|000022b0| 6e 43 75 72 72 65 6e 74 | 43 6f 6d 62 6f 28 29 20 |nCurrent|Combo() |
|000022c0| 29 0d 0a 20 20 20 20 7b | 0d 0a 20 20 20 20 20 20 |).. {|.. |
|000022d0| 20 20 69 66 20 28 43 6f | 6d 62 6f 43 6c 61 73 73 | if (Co|mboClass|
|000022e0| 2e 64 65 66 61 75 6c 74 | 2e 45 78 65 63 4d 65 73 |.default|.ExecMes|
|000022f0| 73 61 67 65 20 21 3d 20 | 22 22 29 0d 0a 20 20 20 |sage != |"").. |
|00002300| 20 20 20 20 20 20 20 20 | 20 52 65 63 65 69 76 65 | | Receive|
|00002310| 4c 6f 63 61 6c 69 7a 65 | 64 4d 65 73 73 61 67 65 |Localize|dMessage|
|00002320| 28 20 63 6c 61 73 73 27 | 43 6f 6d 62 6f 4d 65 73 |( class'|ComboMes|
|00002330| 73 61 67 65 27 2c 20 2c | 20 2c 20 2c 20 43 6f 6d |sage', ,| , , Com|
|00002340| 62 6f 43 6c 61 73 73 20 | 29 3b 0d 0a 0d 0a 20 20 |boClass |);.... |
|00002350| 20 20 20 20 20 20 78 50 | 61 77 6e 28 50 61 77 6e | xP|awn(Pawn|
|00002360| 29 2e 44 6f 43 6f 6d 62 | 6f 28 20 43 6f 6d 62 6f |).DoComb|o( Combo|
|00002370| 43 6c 61 73 73 20 29 3b | 0d 0a 20 20 20 20 7d 0d |Class );|.. }.|
|00002380| 0a 7d 0d 0a 0d 0a 73 74 | 61 74 65 20 41 74 74 72 |.}....st|ate Attr|
|00002390| 61 63 74 4d 6f 64 65 0d | 0a 7b 0d 0a 09 69 67 6e |actMode.|.{...ign|
|000023a0| 6f 72 65 73 20 53 77 69 | 74 63 68 57 65 61 70 6f |ores Swi|tchWeapo|
|000023b0| 6e 2c 20 52 65 73 74 61 | 72 74 4c 65 76 65 6c 2c |n, Resta|rtLevel,|
|000023c0| 20 43 6c 69 65 6e 74 52 | 65 73 74 61 72 74 2c 20 | ClientR|estart, |
|000023d0| 53 75 69 63 69 64 65 2c | 0d 0a 09 20 54 68 72 6f |Suicide,|... Thro|
|000023e0| 77 57 65 61 70 6f 6e 2c | 20 4e 6f 74 69 66 79 50 |wWeapon,| NotifyP|
|000023f0| 68 79 73 69 63 73 56 6f | 6c 75 6d 65 43 68 61 6e |hysicsVo|lumeChan|
|00002400| 67 65 2c 20 4e 6f 74 69 | 66 79 48 65 61 64 56 6f |ge, Noti|fyHeadVo|
|00002410| 6c 75 6d 65 43 68 61 6e | 67 65 2c 0d 0a 20 20 20 |lumeChan|ge,.. |
|00002420| 20 20 53 61 79 2c 20 54 | 65 61 6d 53 61 79 3b 0d | Say, T|eamSay;.|
|00002430| 0a 0d 0a 09 66 75 6e 63 | 74 69 6f 6e 20 62 6f 6f |....func|tion boo|
|00002440| 6c 20 49 73 53 70 65 63 | 74 61 74 69 6e 67 28 29 |l IsSpec|tating()|
|00002450| 0d 0a 09 7b 0d 0a 09 09 | 72 65 74 75 72 6e 20 74 |...{....|return t|
|00002460| 72 75 65 3b 0d 0a 09 7d | 0d 0a 0d 0a 09 66 75 6e |rue;...}|.....fun|
|00002470| 63 74 69 6f 6e 20 50 72 | 6f 63 65 73 73 4d 6f 76 |ction Pr|ocessMov|
|00002480| 65 28 66 6c 6f 61 74 20 | 44 65 6c 74 61 54 69 6d |e(float |DeltaTim|
|00002490| 65 2c 20 76 65 63 74 6f | 72 20 4e 65 77 41 63 63 |e, vecto|r NewAcc|
|000024a0| 65 6c 2c 20 65 44 6f 75 | 62 6c 65 43 6c 69 63 6b |el, eDou|bleClick|
|000024b0| 44 69 72 20 44 6f 75 62 | 6c 65 43 6c 69 63 6b 4d |Dir Doub|leClickM|
|000024c0| 6f 76 65 2c 20 72 6f 74 | 61 74 6f 72 20 44 65 6c |ove, rot|ator Del|
|000024d0| 74 61 52 6f 74 29 0d 0a | 09 7b 0d 0a 09 7d 0d 0a |taRot)..|.{...}..|
|000024e0| 0d 0a 09 66 75 6e 63 74 | 69 6f 6e 20 50 6c 61 79 |...funct|ion Play|
|000024f0| 65 72 4d 6f 76 65 28 66 | 6c 6f 61 74 20 44 65 6c |erMove(f|loat Del|
|00002500| 74 61 54 69 6d 65 29 0d | 0a 09 7b 0d 0a 20 20 20 |taTime).|..{.. |
|00002510| 20 20 20 20 20 6c 6f 63 | 61 6c 20 66 6c 6f 61 74 | loc|al float|
|00002520| 20 64 65 6c 74 61 79 61 | 77 2c 20 64 65 73 74 79 | deltaya|w, desty|
|00002530| 61 77 3b 0d 0a 20 20 20 | 20 20 20 20 20 6c 6f 63 |aw;.. | loc|
|00002540| 61 6c 20 52 6f 74 61 74 | 6f 72 20 6e 65 77 72 6f |al Rotat|or newro|
|00002550| 74 3b 0d 0a 0d 0a 20 20 | 20 20 20 20 20 20 69 66 |t;.... | if|
|00002560| 20 28 20 61 74 74 72 61 | 63 74 74 61 72 67 65 74 | ( attra|cttarget|
|00002570| 20 3d 3d 20 4e 6f 6e 65 | 20 29 0d 0a 09 09 09 72 | == None| ).....r|
|00002580| 65 74 75 72 6e 3b 0d 0a | 0d 0a 20 20 20 20 20 20 |eturn;..|.. |
|00002590| 20 20 2f 2f 20 75 70 64 | 61 74 65 73 20 63 61 6d | // upd|ates cam|
|000025a0| 65 72 61 20 79 61 77 20 | 74 6f 20 73 6d 6f 6f 74 |era yaw |to smoot|
|000025b0| 68 6c 79 20 72 6f 74 61 | 74 65 20 74 6f 20 74 68 |hly rota|te to th|
|000025c0| 65 20 70 61 77 6e 20 66 | 61 63 69 6e 67 0d 0a 20 |e pawn f|acing.. |
|000025d0| 20 20 20 20 20 20 20 69 | 66 20 28 20 62 42 65 68 | i|f ( bBeh|
|000025e0| 69 6e 64 56 69 65 77 20 | 29 0d 0a 20 20 20 20 20 |indView |).. |
|000025f0| 20 20 20 7b 0d 0a 09 09 | 09 69 66 20 28 20 28 61 | {....|.if ( (a|
|00002600| 74 74 72 61 63 74 74 61 | 72 67 65 74 2e 43 6f 6e |ttractta|rget.Con|
|00002610| 74 72 6f 6c 6c 65 72 20 | 3d 3d 20 4e 6f 6e 65 29 |troller |== None)|
|00002620| 20 7c 7c 20 28 41 74 74 | 72 61 63 74 54 61 72 67 | || (Att|ractTarg|
|00002630| 65 74 2e 43 6f 6e 74 72 | 6f 6c 6c 65 72 2e 45 6e |et.Contr|oller.En|
|00002640| 65 6d 79 20 3d 3d 20 4e | 6f 6e 65 29 20 29 0d 0a |emy == N|one) )..|
|00002650| 09 09 09 09 72 65 74 75 | 72 6e 3b 0d 0a 20 20 20 |....retu|rn;.. |
|00002660| 20 20 20 20 20 20 20 20 | 20 4e 65 77 52 6f 74 20 | | NewRot |
|00002670| 3d 20 52 6f 74 61 74 6f | 72 28 61 74 74 72 61 63 |= Rotato|r(attrac|
|00002680| 74 74 61 72 67 65 74 2e | 63 6f 6e 74 72 6f 6c 6c |ttarget.|controll|
|00002690| 65 72 2e 45 6e 65 6d 79 | 2e 6c 6f 63 61 74 69 6f |er.Enemy|.locatio|
|000026a0| 6e 20 2d 20 61 74 74 72 | 61 63 74 74 61 72 67 65 |n - attr|acttarge|
|000026b0| 74 2e 6c 6f 63 61 74 69 | 6f 6e 29 3b 0d 0a 09 09 |t.locati|on);....|
|000026c0| 09 64 65 73 74 79 61 77 | 20 3d 20 4e 65 77 52 6f |.destyaw| = NewRo|
|000026d0| 74 2e 59 61 77 3b 0d 0a | 20 20 20 20 20 20 20 20 |t.Yaw;..| |
|000026e0| 20 20 20 20 64 65 6c 74 | 61 79 61 77 20 3d 20 28 | delt|ayaw = (|
|000026f0| 64 65 73 74 79 61 77 20 | 26 20 36 35 35 33 35 29 |destyaw |& 65535)|
|00002700| 20 2d 20 28 72 6f 74 61 | 74 69 6f 6e 2e 79 61 77 | - (rota|tion.yaw|
|00002710| 20 26 20 36 35 35 33 35 | 29 3b 0d 0a 20 20 20 20 | & 65535|);.. |
|00002720| 20 20 20 20 20 20 20 20 | 69 66 20 28 64 65 6c 74 | |if (delt|
|00002730| 61 79 61 77 20 3c 20 2d | 33 32 37 36 38 29 20 64 |ayaw < -|32768) d|
|00002740| 65 6c 74 61 79 61 77 20 | 2b 3d 20 36 35 35 33 36 |eltayaw |+= 65536|
|00002750| 3b 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 65 |;.. | e|
|00002760| 6c 73 65 20 69 66 20 28 | 64 65 6c 74 61 79 61 77 |lse if (|deltayaw|
|00002770| 20 3e 20 33 32 37 36 38 | 29 20 64 65 6c 74 61 79 | > 32768|) deltay|
|00002780| 61 77 20 2d 3d 20 36 35 | 35 33 36 3b 0d 0a 0d 0a |aw -= 65|536;....|
|00002790| 20 20 20 20 20 20 20 20 | 20 20 20 20 6e 65 77 72 | | newr|
|000027a0| 6f 74 20 3d 20 72 6f 74 | 61 74 69 6f 6e 3b 0d 0a |ot = rot|ation;..|
|000027b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 6e 65 77 72 | | newr|
|000027c0| 6f 74 2e 79 61 77 20 2b | 3d 20 64 65 6c 74 61 79 |ot.yaw +|= deltay|
|000027d0| 61 77 20 2a 20 44 65 6c | 74 61 54 69 6d 65 3b 0d |aw * Del|taTime;.|
|000027e0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 53 65 74 |. | Set|
|000027f0| 52 6f 74 61 74 69 6f 6e | 28 6e 65 77 72 6f 74 29 |Rotation|(newrot)|
|00002800| 3b 0d 0a 20 20 20 20 20 | 20 20 20 7d 0d 0a 20 20 |;.. | }.. |
|00002810| 20 20 20 20 20 20 65 6c | 73 65 0d 0a 20 20 20 20 | el|se.. |
|00002820| 20 20 20 20 7b 0d 0a 20 | 20 20 20 20 20 20 20 20 | {.. | |
|00002830| 20 20 20 6e 65 77 72 6f | 74 20 3d 20 43 61 6d 65 | newro|t = Came|
|00002840| 72 61 54 72 61 63 6b 28 | 61 74 74 72 61 63 74 74 |raTrack(|attractt|
|00002850| 61 72 67 65 74 2c 20 44 | 65 6c 74 61 54 69 6d 65 |arget, D|eltaTime|
|00002860| 29 3b 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |);.. | |
|00002870| 53 65 74 52 6f 74 61 74 | 69 6f 6e 28 6e 65 77 72 |SetRotat|ion(newr|
|00002880| 6f 74 29 3b 0d 0a 20 20 | 20 20 20 20 20 20 7d 0d |ot);.. | }.|
|00002890| 0a 09 7d 0d 0a 0d 0a 09 | 65 78 65 63 20 66 75 6e |..}.....|exec fun|
|000028a0| 63 74 69 6f 6e 20 4e 65 | 78 74 57 65 61 70 6f 6e |ction Ne|xtWeapon|
|000028b0| 28 29 0d 0a 09 7b 0d 0a | 09 7d 0d 0a 0d 0a 09 65 |()...{..|.}.....e|
|000028c0| 78 65 63 20 66 75 6e 63 | 74 69 6f 6e 20 50 72 65 |xec func|tion Pre|
|000028d0| 76 57 65 61 70 6f 6e 28 | 29 0d 0a 09 7b 0d 0a 09 |vWeapon(|)...{...|
|000028e0| 7d 0d 0a 0d 0a 09 65 78 | 65 63 20 66 75 6e 63 74 |}.....ex|ec funct|
|000028f0| 69 6f 6e 20 46 69 72 65 | 28 20 6f 70 74 69 6f 6e |ion Fire|( option|
|00002900| 61 6c 20 66 6c 6f 61 74 | 20 46 20 29 0d 0a 09 7b |al float| F )...{|
|00002910| 0d 0a 20 20 20 20 20 20 | 20 20 2f 2f 20 73 74 61 |.. | // sta|
|00002920| 72 74 20 70 6c 61 79 69 | 6e 67 0d 0a 09 7d 0d 0a |rt playi|ng...}..|
|00002930| 0d 0a 09 65 78 65 63 20 | 66 75 6e 63 74 69 6f 6e |...exec |function|
|00002940| 20 41 6c 74 46 69 72 65 | 28 20 6f 70 74 69 6f 6e | AltFire|( option|
|00002950| 61 6c 20 66 6c 6f 61 74 | 20 46 20 29 0d 0a 09 7b |al float| F )...{|
|00002960| 0d 0a 20 20 20 20 20 20 | 20 20 46 69 72 65 28 46 |.. | Fire(F|
|00002970| 29 3b 0d 0a 09 7d 0d 0a | 0d 0a 09 66 75 6e 63 74 |);...}..|...funct|
|00002980| 69 6f 6e 20 42 65 67 69 | 6e 53 74 61 74 65 28 29 |ion Begi|nState()|
|00002990| 0d 0a 09 7b 0d 0a 09 09 | 69 66 20 28 20 50 61 77 |...{....|if ( Paw|
|000029a0| 6e 20 21 3d 20 4e 6f 6e | 65 20 29 0d 0a 09 09 7b |n != Non|e )....{|
|000029b0| 0d 0a 09 09 09 53 65 74 | 4c 6f 63 61 74 69 6f 6e |.....Set|Location|
|000029c0| 28 50 61 77 6e 2e 4c 6f | 63 61 74 69 6f 6e 29 3b |(Pawn.Lo|cation);|
|000029d0| 0d 0a 09 09 7d 0d 0a 09 | 09 62 43 6f 6c 6c 69 64 |....}...|.bCollid|
|000029e0| 65 57 6f 72 6c 64 20 3d | 20 74 72 75 65 3b 0d 0a |eWorld =| true;..|
|000029f0| 20 20 20 20 20 20 20 20 | 69 66 20 28 20 63 75 72 | |if ( cur|
|00002a00| 63 61 6d 20 3d 3d 20 2d | 31 20 29 0d 0a 20 20 20 |cam == -|1 ).. |
|00002a10| 20 20 20 20 20 7b 0d 0a | 20 20 20 20 20 20 20 20 | {..| |
|00002a20| 20 20 20 20 46 69 6c 6c | 43 61 6d 65 72 61 4c 69 | Fill|CameraLi|
|00002a30| 73 74 28 29 3b 0d 0a 20 | 20 20 20 20 20 20 20 20 |st();.. | |
|00002a40| 20 20 20 63 61 6d 74 69 | 6d 65 20 3d 20 30 3b 0d | camti|me = 0;.|
|00002a50| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 74 61 72 |. | tar|
|00002a60| 67 65 74 74 69 6d 65 20 | 3d 20 30 3b 0d 0a 20 20 |gettime |= 0;.. |
|00002a70| 20 20 20 20 20 20 20 20 | 20 20 61 75 74 6f 7a 6f | | autozo|
|00002a80| 6f 6d 20 3d 20 74 72 75 | 65 3b 0d 0a 20 20 20 20 |om = tru|e;.. |
|00002a90| 20 20 20 20 20 20 20 20 | 63 75 72 63 61 6d 20 3d | |curcam =|
|00002aa0| 20 2d 31 3b 0d 0a 20 20 | 20 20 20 20 20 20 7d 0d | -1;.. | }.|
|00002ab0| 0a 0d 0a 20 20 20 20 20 | 20 20 20 54 69 6d 65 72 |... | Timer|
|00002ac0| 28 29 3b 0d 0a 20 20 20 | 20 20 20 20 20 53 65 74 |();.. | Set|
|00002ad0| 54 69 6d 65 72 28 30 2e | 35 2c 20 74 72 75 65 29 |Timer(0.|5, true)|
|00002ae0| 3b 0d 0a 09 7d 0d 0a 0d | 0a 09 66 75 6e 63 74 69 |;...}...|..functi|
|00002af0| 6f 6e 20 45 6e 64 53 74 | 61 74 65 28 29 0d 0a 09 |on EndSt|ate()...|
|00002b00| 7b 0d 0a 09 09 50 6c 61 | 79 65 72 52 65 70 6c 69 |{....Pla|yerRepli|
|00002b10| 63 61 74 69 6f 6e 49 6e | 66 6f 2e 62 49 73 53 70 |cationIn|fo.bIsSp|
|00002b20| 65 63 74 61 74 6f 72 20 | 3d 20 66 61 6c 73 65 3b |ectator |= false;|
|00002b30| 0d 0a 09 09 62 43 6f 6c | 6c 69 64 65 57 6f 72 6c |....bCol|lideWorl|
|00002b40| 64 20 3d 20 66 61 6c 73 | 65 3b 0d 0a 20 20 20 20 |d = fals|e;.. |
|00002b50| 20 20 20 20 63 75 72 63 | 61 6d 20 3d 20 2d 31 3b | curc|am = -1;|
|00002b60| 0d 0a 09 7d 0d 0a 0d 0a | 20 20 20 20 66 75 6e 63 |...}....| func|
|00002b70| 74 69 6f 6e 20 54 69 6d | 65 72 28 29 0d 0a 20 20 |tion Tim|er().. |
|00002b80| 20 20 7b 0d 0a 20 20 20 | 20 20 20 20 20 6c 6f 63 | {.. | loc|
|00002b90| 61 6c 20 62 6f 6f 6c 20 | 73 77 69 74 63 68 65 64 |al bool |switched|
|00002ba0| 62 6f 74 73 3b 0d 0a 20 | 20 20 20 20 20 20 20 6c |bots;.. | l|
|00002bb0| 6f 63 61 6c 20 56 65 63 | 74 6f 72 20 6e 65 77 6c |ocal Vec|tor newl|
|00002bc0| 6f 63 3b 0d 0a 20 20 20 | 20 20 20 20 20 6c 6f 63 |oc;.. | loc|
|00002bd0| 61 6c 20 69 6e 74 20 6e | 65 77 63 61 6d 3b 0d 0a |al int n|ewcam;..|
|00002be0| 0d 0a 20 20 20 20 20 20 | 20 20 63 61 6d 74 69 6d |.. | camtim|
|00002bf0| 65 20 2b 3d 20 30 2e 35 | 3b 0d 0a 20 20 20 20 20 |e += 0.5|;.. |
|00002c00| 20 20 20 74 61 72 67 65 | 74 74 69 6d 65 20 2b 3d | targe|ttime +=|
|00002c10| 20 30 2e 35 3b 0d 0a 20 | 20 20 20 20 20 20 20 62 | 0.5;.. | b|
|00002c20| 46 72 6f 7a 65 6e 20 3d | 20 66 61 6c 73 65 3b 0d |Frozen =| false;.|
|00002c30| 0a 0d 0a 20 20 20 20 20 | 20 20 20 2f 2f 20 6b 65 |... | // ke|
|00002c40| 65 70 20 77 61 74 63 68 | 69 6e 67 20 61 20 74 61 |ep watch|ing a ta|
|00002c50| 72 67 65 74 20 66 6f 72 | 20 61 20 66 65 77 20 73 |rget for| a few s|
|00002c60| 65 63 6f 6e 64 73 20 61 | 66 74 65 72 20 69 74 20 |econds a|fter it |
|00002c70| 64 69 65 73 0d 0a 20 20 | 20 20 20 20 20 20 69 66 |dies.. | if|
|00002c80| 20 28 67 69 62 77 61 74 | 63 68 74 69 6d 65 20 3e | (gibwat|chtime >|
|00002c90| 20 30 29 0d 0a 20 20 20 | 20 20 20 20 20 7b 0d 0a | 0).. | {..|
|00002ca0| 20 20 20 20 20 20 20 20 | 20 20 20 20 67 69 62 77 | | gibw|
|00002cb0| 61 74 63 68 74 69 6d 65 | 20 2d 3d 20 30 2e 35 3b |atchtime| -= 0.5;|
|00002cc0| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 69 66 |.. | if|
|00002cd0| 20 28 67 69 62 77 61 74 | 63 68 74 69 6d 65 20 3c | (gibwat|chtime <|
|00002ce0| 3d 20 30 29 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |= 0).. | |
|00002cf0| 20 20 20 20 20 20 61 74 | 74 72 61 63 74 74 61 72 | at|tracttar|
|00002d00| 67 65 74 20 3d 20 4e 6f | 6e 65 3b 0d 0a 20 20 20 |get = No|ne;.. |
|00002d10| 20 20 20 20 20 20 20 20 | 20 65 6c 73 65 0d 0a 20 | | else.. |
|00002d20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 72 | | r|
|00002d30| 65 74 75 72 6e 3b 0d 0a | 20 20 20 20 20 20 20 20 |eturn;..| |
|00002d40| 7d 0d 0a 20 20 20 20 20 | 20 20 20 65 6c 73 65 20 |}.. | else |
|00002d50| 69 66 20 28 20 61 74 74 | 72 61 63 74 74 61 72 67 |if ( att|racttarg|
|00002d60| 65 74 20 21 3d 20 4e 6f | 6e 65 20 26 26 20 61 74 |et != No|ne && at|
|00002d70| 74 72 61 63 74 74 61 72 | 67 65 74 2e 48 65 61 6c |tracttar|get.Heal|
|00002d80| 74 68 20 3c 3d 20 30 20 | 29 0d 0a 20 20 20 20 20 |th <= 0 |).. |
|00002d90| 20 20 20 7b 0d 0a 20 20 | 20 20 20 20 20 20 20 20 | {.. | |
|00002da0| 20 20 67 69 62 77 61 74 | 63 68 74 69 6d 65 20 3d | gibwat|chtime =|
|00002db0| 20 34 3b 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 | 4;.. | |
|00002dc0| 20 2f 2f 4c 6f 67 28 22 | 61 74 74 72 61 63 74 3a | //Log("|attract:|
|00002dd0| 20 77 61 74 63 68 69 6e | 67 20 67 69 62 22 29 3b | watchin|g gib");|
|00002de0| 0d 0a 20 20 20 20 20 20 | 20 20 7d 0d 0a 0d 0a 20 |.. | }.... |
|00002df0| 20 20 20 20 20 20 20 2f | 2f 20 73 77 69 74 63 68 | /|/ switch|
|00002e00| 20 74 61 72 67 65 74 73 | 20 2f 2f 0d 0a 20 20 20 | targets| //.. |
|00002e10| 20 20 20 20 20 69 66 20 | 28 61 74 74 72 61 63 74 | if |(attract|
|00002e20| 74 61 72 67 65 74 20 3d | 3d 20 4e 6f 6e 65 0d 0a |target =|= None..|
|00002e30| 20 20 20 20 20 20 20 20 | 20 20 20 20 7c 7c 20 74 | | || t|
|00002e40| 61 72 67 65 74 74 69 6d | 65 20 3e 20 33 30 20 29 |argettim|e > 30 )|
|00002e50| 0d 0a 20 20 20 20 20 20 | 20 20 7b 0d 0a 20 20 20 |.. | {.. |
|00002e60| 20 20 20 20 20 20 20 20 | 20 61 74 74 72 61 63 74 | | attract|
|00002e70| 74 61 72 67 65 74 20 3d | 20 50 69 63 6b 4e 65 78 |target =| PickNex|
|00002e80| 74 42 6f 74 28 61 74 74 | 72 61 63 74 74 61 72 67 |tBot(att|racttarg|
|00002e90| 65 74 29 3b 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |et);.. | |
|00002ea0| 20 20 73 77 69 74 63 68 | 65 64 62 6f 74 73 20 3d | switch|edbots =|
|00002eb0| 20 74 72 75 65 3b 0d 0a | 20 20 20 20 20 20 20 20 | true;..| |
|00002ec0| 20 20 20 20 74 61 72 67 | 65 74 74 69 6d 65 20 3d | targ|ettime =|
|00002ed0| 20 30 3b 0d 0a 20 20 20 | 20 20 20 20 20 20 7d 0d | 0;.. | }.|
|00002ee0| 0a 0d 0a 20 20 20 20 20 | 20 20 20 69 66 20 28 61 |... | if (a|
|00002ef0| 74 74 72 61 63 74 74 61 | 72 67 65 74 20 3d 3d 20 |ttractta|rget == |
|00002f00| 4e 6f 6e 65 29 0d 0a 20 | 20 20 20 20 20 20 20 20 |None).. | |
|00002f10| 20 20 20 72 65 74 75 72 | 6e 3b 0d 0a 0d 0a 20 20 | retur|n;.... |
|00002f20| 20 20 20 20 20 20 2f 2f | 20 73 77 69 74 63 68 20 | //| switch |
|00002f30| 76 69 65 77 73 20 2f 2f | 0d 0a 20 20 20 20 20 20 |views //|.. |
|00002f40| 20 20 69 66 20 28 0d 0a | 20 20 20 20 20 20 20 20 | if (..| |
|00002f50| 20 20 20 20 73 77 69 74 | 63 68 65 64 62 6f 74 73 | swit|chedbots|
|00002f60| 20 7c 7c 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 | ||.. | |
|00002f70| 20 63 61 6d 74 69 6d 65 | 20 3e 20 31 30 20 7c 7c | camtime| > 10 |||
|00002f80| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 62 42 |.. | bB|
|00002f90| 65 68 69 6e 64 56 69 65 | 77 20 3d 3d 20 66 61 6c |ehindVie|w == fal|
|00002fa0| 73 65 20 26 26 20 28 72 | 6f 74 61 74 69 6f 6e 2e |se && (r|otation.|
|00002fb0| 70 69 74 63 68 20 3c 20 | 2d 31 30 30 30 30 20 7c |pitch < |-10000 ||
|00002fc0| 7c 20 21 4c 69 6e 65 4f | 66 53 69 67 68 74 28 63 || !LineO|fSight(c|
|00002fd0| 75 72 63 61 6d 2c 20 61 | 74 74 72 61 63 74 74 61 |urcam, a|ttractta|
|00002fe0| 72 67 65 74 29 29 0d 0a | 20 20 20 20 20 20 20 20 |rget))..| |
|00002ff0| 29 0d 0a 20 20 20 20 20 | 20 20 20 7b 0d 0a 20 20 |).. | {.. |
|00003000| 20 20 20 20 20 20 20 20 | 20 20 63 61 6d 74 69 6d | | camtim|
|00003010| 65 20 3d 20 30 3b 0d 0a | 20 20 20 20 20 20 20 20 |e = 0;..| |
|00003020| 20 20 20 20 46 6f 76 41 | 6e 67 6c 65 20 3d 20 64 | FovA|ngle = d|
|00003030| 65 66 61 75 6c 74 2e 46 | 6f 76 41 6e 67 6c 65 3b |efault.F|ovAngle;|
|00003040| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 53 65 |.. | Se|
|00003050| 74 56 69 65 77 54 61 72 | 67 65 74 28 73 65 6c 66 |tViewTar|get(self|
|00003060| 29 3b 0d 0a 09 20 20 20 | 20 09 62 42 65 68 69 6e |);... | .bBehin|
|00003070| 64 56 69 65 77 20 3d 20 | 66 61 6c 73 65 3b 0d 0a |dView = |false;..|
|00003080| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 2f 2f |.. | //|
|00003090| 20 6c 6f 6f 6b 20 66 6f | 72 20 61 20 70 6c 61 63 | look fo|r a plac|
|000030a0| 65 64 20 63 61 6d 65 72 | 61 0d 0a 20 20 20 20 20 |ed camer|a.. |
|000030b0| 20 20 20 20 20 20 20 69 | 66 20 28 46 69 6e 64 46 | i|f (FindF|
|000030c0| 69 78 65 64 43 61 6d 28 | 61 74 74 72 61 63 74 74 |ixedCam(|attractt|
|000030d0| 61 72 67 65 74 2c 20 6e | 65 77 63 61 6d 29 29 0d |arget, n|ewcam)).|
|000030e0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 7b 0d 0a |. | {..|
|000030f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003100| 66 6f 63 75 73 70 6f 69 | 6e 74 20 3d 20 61 74 74 |focuspoi|nt = att|
|00003110| 72 61 63 74 74 61 72 67 | 65 74 2e 4c 6f 63 61 74 |racttarg|et.Locat|
|00003120| 69 6f 6e 3b 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |ion;.. | |
|00003130| 20 20 20 20 20 20 63 75 | 72 63 61 6d 20 3d 20 6e | cu|rcam = n|
|00003140| 65 77 63 61 6d 3b 0d 0a | 20 20 20 20 20 20 20 20 |ewcam;..| |
|00003150| 20 20 20 20 20 20 20 20 | 53 65 74 4c 6f 63 61 74 | |SetLocat|
|00003160| 69 6f 6e 28 63 61 6d 6c | 69 73 74 5b 63 75 72 63 |ion(caml|ist[curc|
|00003170| 61 6d 5d 2e 4c 6f 63 61 | 74 69 6f 6e 29 3b 0d 0a |am].Loca|tion);..|
|00003180| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003190| 46 6f 76 41 6e 67 6c 65 | 20 3d 20 63 61 6d 6c 69 |FovAngle| = camli|
|000031a0| 73 74 5b 63 75 72 63 61 | 6d 5d 2e 56 69 65 77 41 |st[curca|m].ViewA|
|000031b0| 6e 67 6c 65 3b 0d 0a 0d | 0a 20 20 20 20 20 20 20 |ngle;...|. |
|000031c0| 20 20 20 20 20 20 20 20 | 20 53 65 74 52 6f 74 61 | | SetRota|
|000031d0| 74 69 6f 6e 28 43 61 6d | 65 72 61 54 72 61 63 6b |tion(Cam|eraTrack|
|000031e0| 28 61 74 74 72 61 63 74 | 74 61 72 67 65 74 2c 20 |(attract|target, |
|000031f0| 30 29 29 3b 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |0));.. | |
|00003200| 20 20 20 20 20 20 2f 2f | 4c 6f 67 28 22 61 74 74 | //|Log("att|
|00003210| 72 61 63 74 3a 20 63 61 | 6d 65 72 61 20 22 24 63 |ract: ca|mera "$c|
|00003220| 61 6d 6c 69 73 74 5b 63 | 75 72 63 61 6d 5d 29 3b |amlist[c|urcam]);|
|00003230| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 7d 0d |.. | }.|
|00003240| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 2f 2f 20 |. | // |
|00003250| 75 73 65 20 61 20 66 6c | 6f 61 74 69 6e 67 20 63 |use a fl|oating c|
|00003260| 61 6d 65 72 61 0d 0a 20 | 20 20 20 20 20 20 20 20 |amera.. | |
|00003270| 20 20 20 65 6c 73 65 20 | 69 66 20 28 46 52 61 6e | else |if (FRan|
|00003280| 64 28 29 20 3c 20 30 2e | 35 29 0d 0a 20 20 20 20 |d() < 0.|5).. |
|00003290| 20 20 20 20 20 20 20 20 | 7b 0d 0a 20 20 20 20 20 | |{.. |
|000032a0| 20 20 20 20 20 20 20 20 | 20 20 20 6e 65 77 6c 6f | | newlo|
|000032b0| 63 20 3d 20 46 69 6e 64 | 46 6c 6f 61 74 69 6e 67 |c = Find|Floating|
|000032c0| 43 61 6d 28 61 74 74 72 | 61 63 74 74 61 72 67 65 |Cam(attr|acttarge|
|000032d0| 74 29 3b 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |t);.. | |
|000032e0| 20 20 20 20 20 66 6f 63 | 75 73 70 6f 69 6e 74 20 | foc|uspoint |
|000032f0| 3d 20 61 74 74 72 61 63 | 74 74 61 72 67 65 74 2e |= attrac|ttarget.|
|00003300| 4c 6f 63 61 74 69 6f 6e | 3b 0d 0a 20 20 20 20 20 |Location|;.. |
|00003310| 20 20 20 20 20 20 20 20 | 20 20 20 63 75 72 63 61 | | curca|
|00003320| 6d 20 3d 20 2d 31 3b 0d | 0a 20 20 20 20 20 20 20 |m = -1;.|. |
|00003330| 20 20 20 20 20 20 20 20 | 20 53 65 74 4c 6f 63 61 | | SetLoca|
|00003340| 74 69 6f 6e 28 6e 65 77 | 6c 6f 63 29 3b 0d 0a 0d |tion(new|loc);...|
|00003350| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00003360| 20 53 65 74 52 6f 74 61 | 74 69 6f 6e 28 43 61 6d | SetRota|tion(Cam|
|00003370| 65 72 61 54 72 61 63 6b | 28 61 74 74 72 61 63 74 |eraTrack|(attract|
|00003380| 74 61 72 67 65 74 2c 20 | 30 29 29 3b 0d 0a 20 20 |target, |0));.. |
|00003390| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 2f 2f | | //|
|000033a0| 4c 6f 67 28 22 61 74 74 | 72 61 63 74 3a 20 66 72 |Log("att|ract: fr|
|000033b0| 65 65 20 63 61 6d 65 72 | 61 22 29 3b 0d 0a 20 20 |ee camer|a");.. |
|000033c0| 20 20 20 20 20 20 20 20 | 20 20 7d 0d 0a 20 20 20 | | }.. |
|000033d0| 20 20 20 20 20 20 20 20 | 20 2f 2f 20 63 68 61 73 | | // chas|
|000033e0| 65 20 6d 6f 64 65 0d 0a | 20 20 20 20 20 20 20 20 |e mode..| |
|000033f0| 20 20 20 20 65 6c 73 65 | 0d 0a 20 20 20 20 20 20 | else|.. |
|00003400| 20 20 20 20 20 20 7b 0d | 0a 20 20 20 20 20 20 20 | {.|. |
|00003410| 20 20 20 20 20 20 20 20 | 20 63 75 72 63 61 6d 20 | | curcam |
|00003420| 3d 20 2d 31 3b 0d 0a 20 | 20 20 20 09 09 20 20 20 |= -1;.. | .. |
|00003430| 20 53 65 74 56 69 65 77 | 54 61 72 67 65 74 28 61 | SetView|Target(a|
|00003440| 74 74 72 61 63 74 74 61 | 72 67 65 74 29 3b 0d 0a |ttractta|rget);..|
|00003450| 09 20 20 20 20 09 20 20 | 20 20 62 42 65 68 69 6e |. . | bBehin|
|00003460| 64 56 69 65 77 20 3d 20 | 74 72 75 65 3b 0d 0a 20 |dView = |true;.. |
|00003470| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 53 | | S|
|00003480| 65 74 52 6f 74 61 74 69 | 6f 6e 28 61 74 74 72 61 |etRotati|on(attra|
|00003490| 63 74 74 61 72 67 65 74 | 2e 72 6f 74 61 74 69 6f |cttarget|.rotatio|
|000034a0| 6e 29 3b 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |n);.. | |
|000034b0| 20 20 20 20 20 43 61 6d | 65 72 61 44 65 6c 74 61 | Cam|eraDelta|
|000034c0| 52 6f 74 61 74 69 6f 6e | 2e 50 69 74 63 68 20 3d |Rotation|.Pitch =|
|000034d0| 20 2d 33 30 30 30 3b 0d | 0a 20 20 20 20 20 20 20 | -3000;.|. |
|000034e0| 20 20 20 20 20 20 20 20 | 20 43 61 6d 65 72 61 44 | | CameraD|
|000034f0| 69 73 74 20 3d 20 36 3b | 0d 0a 20 20 20 20 20 20 |ist = 6;|.. |
|00003500| 20 20 20 20 20 20 20 20 | 20 20 2f 2f 4c 6f 67 28 | | //Log(|
|00003510| 22 61 74 74 72 61 63 74 | 3a 20 63 68 61 73 65 20 |"attract|: chase |
|00003520| 63 61 6d 65 72 61 22 29 | 3b 0d 0a 20 20 20 20 20 |camera")|;.. |
|00003530| 20 20 20 20 20 20 20 7d | 0d 0a 20 20 20 20 20 20 | }|.. |
|00003540| 20 20 7d 0d 0a 20 20 20 | 20 7d 0d 0a 7d 0d 0a 0d | }.. | }..}...|
|00003550| 0a 73 74 61 74 65 20 56 | 69 65 77 50 6c 61 79 65 |.state V|iewPlaye|
|00003560| 72 20 65 78 74 65 6e 64 | 73 20 50 6c 61 79 65 72 |r extend|s Player|
|00003570| 57 61 6c 6b 69 6e 67 0d | 0a 7b 0d 0a 09 66 75 6e |Walking.|.{...fun|
|00003580| 63 74 69 6f 6e 20 50 6c | 61 79 65 72 4d 6f 76 65 |ction Pl|ayerMove|
|00003590| 28 66 6c 6f 61 74 20 44 | 65 6c 74 61 54 69 6d 65 |(float D|eltaTime|
|000035a0| 29 0d 0a 09 7b 0d 0a 20 | 20 20 20 20 20 20 20 53 |)...{.. | S|
|000035b0| 75 70 65 72 2e 50 6c 61 | 79 65 72 4d 6f 76 65 28 |uper.Pla|yerMove(|
|000035c0| 44 65 6c 74 61 54 69 6d | 65 29 3b 0d 0a 0d 0a 20 |DeltaTim|e);.... |
|000035d0| 20 20 20 20 20 20 20 43 | 61 6d 65 72 61 53 77 69 | C|ameraSwi|
|000035e0| 76 65 6c 20 3d 20 43 61 | 6d 65 72 61 54 72 61 63 |vel = Ca|meraTrac|
|000035f0| 6b 28 70 61 77 6e 2c 20 | 44 65 6c 74 61 54 69 6d |k(pawn, |DeltaTim|
|00003600| 65 29 3b 0d 0a 20 20 20 | 20 7d 0d 0a 0d 0a 20 20 |e);.. | }.... |
|00003610| 20 20 66 75 6e 63 74 69 | 6f 6e 20 50 6c 61 79 65 | functi|on Playe|
|00003620| 72 43 61 6c 63 56 69 65 | 77 28 6f 75 74 20 61 63 |rCalcVie|w(out ac|
|00003630| 74 6f 72 20 56 69 65 77 | 41 63 74 6f 72 2c 20 6f |tor View|Actor, o|
|00003640| 75 74 20 76 65 63 74 6f | 72 20 43 61 6d 65 72 61 |ut vecto|r Camera|
|00003650| 4c 6f 63 61 74 69 6f 6e | 2c 20 6f 75 74 20 72 6f |Location|, out ro|
|00003660| 74 61 74 6f 72 20 43 61 | 6d 65 72 61 52 6f 74 61 |tator Ca|meraRota|
|00003670| 74 69 6f 6e 20 29 0d 0a | 20 20 20 20 7b 0d 0a 20 |tion )..| {.. |
|00003680| 20 20 20 20 20 20 20 2f | 2f 20 6e 6f 74 20 63 61 | /|/ not ca|
|00003690| 6c 6c 69 6e 67 20 73 75 | 70 65 72 0d 0a 20 20 20 |lling su|per.. |
|000036a0| 20 20 20 20 20 43 61 6d | 65 72 61 52 6f 74 61 74 | Cam|eraRotat|
|000036b0| 69 6f 6e 20 3d 20 43 61 | 6d 65 72 61 53 77 69 76 |ion = Ca|meraSwiv|
|000036c0| 65 6c 3b 0d 0a 20 20 20 | 20 20 20 20 20 43 61 6d |el;.. | Cam|
|000036d0| 65 72 61 4c 6f 63 61 74 | 69 6f 6e 20 3d 20 6c 6f |eraLocat|ion = lo|
|000036e0| 63 61 74 69 6f 6e 3b 20 | 2f 2f 63 61 6d 6c 69 73 |cation; |//camlis|
|000036f0| 74 5b 63 75 72 63 61 6d | 5d 2e 6c 6f 63 61 74 69 |t[curcam|].locati|
|00003700| 6f 6e 3b 0d 0a 20 20 20 | 20 20 20 20 20 56 69 65 |on;.. | Vie|
|00003710| 77 41 63 74 6f 72 20 3d | 20 73 65 6c 66 3b 0d 0a |wActor =| self;..|
|00003720| 20 20 20 20 7d 0d 0a 0d | 0a 20 20 20 20 66 75 6e | }...|. fun|
|00003730| 63 74 69 6f 6e 20 42 65 | 67 69 6e 53 74 61 74 65 |ction Be|ginState|
|00003740| 28 29 0d 0a 20 20 20 20 | 7b 0d 0a 20 20 20 20 20 |().. |{.. |
|00003750| 20 20 20 46 69 6c 6c 43 | 61 6d 65 72 61 4c 69 73 | FillC|ameraLis|
|00003760| 74 28 29 3b 0d 0a 20 20 | 20 20 20 20 20 20 62 42 |t();.. | bB|
|00003770| 65 68 69 6e 64 56 69 65 | 77 20 3d 20 74 72 75 65 |ehindVie|w = true|
|00003780| 3b 0d 0a 20 20 20 20 20 | 20 20 20 53 65 74 56 69 |;.. | SetVi|
|00003790| 65 77 54 61 72 67 65 74 | 28 73 65 6c 66 29 3b 0d |ewTarget|(self);.|
|000037a0| 0a 20 20 20 20 20 20 20 | 20 63 75 72 63 61 6d 20 |. | curcam |
|000037b0| 3d 20 2d 32 3b 0d 0a 20 | 20 20 20 20 20 20 20 61 |= -2;.. | a|
|000037c0| 75 74 6f 7a 6f 6f 6d 20 | 3d 20 74 72 75 65 3b 0d |utozoom |= true;.|
|000037d0| 0a 20 20 20 20 20 20 20 | 20 54 69 6d 65 72 28 29 |. | Timer()|
|000037e0| 3b 0d 0a 20 20 20 20 20 | 20 20 20 53 65 74 54 69 |;.. | SetTi|
|000037f0| 6d 65 72 28 30 2e 35 2c | 20 74 72 75 65 29 3b 0d |mer(0.5,| true);.|
|00003800| 0a 20 20 20 20 7d 0d 0a | 0d 0a 20 20 20 20 66 75 |. }..|.. fu|
|00003810| 6e 63 74 69 6f 6e 20 45 | 6e 64 53 74 61 74 65 28 |nction E|ndState(|
|00003820| 29 0d 0a 20 20 20 20 7b | 0d 0a 20 20 20 20 20 20 |).. {|.. |
|00003830| 20 20 43 61 6d 65 72 61 | 53 77 69 76 65 6c 20 3d | Camera|Swivel =|
|00003840| 20 72 6f 74 28 30 2c 30 | 2c 30 29 3b 0d 0a 20 20 | rot(0,0|,0);.. |
|00003850| 20 20 20 20 20 20 62 42 | 65 68 69 6e 64 56 69 65 | bB|ehindVie|
|00003860| 77 20 3d 20 66 61 6c 73 | 65 3b 0d 0a 20 20 20 20 |w = fals|e;.. |
|00003870| 20 20 20 20 46 6f 76 41 | 6e 67 6c 65 20 3d 20 64 | FovA|ngle = d|
|00003880| 65 66 61 75 6c 74 2e 46 | 6f 76 41 6e 67 6c 65 3b |efault.F|ovAngle;|
|00003890| 0d 0a 20 20 20 20 20 20 | 20 20 44 65 73 69 72 65 |.. | Desire|
|000038a0| 64 46 4f 56 20 3d 20 46 | 6f 76 41 6e 67 6c 65 3b |dFOV = F|ovAngle;|
|000038b0| 0d 0a 20 20 20 20 20 20 | 20 20 53 65 74 56 69 65 |.. | SetVie|
|000038c0| 77 54 61 72 67 65 74 28 | 70 61 77 6e 29 3b 0d 0a |wTarget(|pawn);..|
|000038d0| 20 20 20 20 7d 0d 0a 0d | 0a 20 20 20 20 66 75 6e | }...|. fun|
|000038e0| 63 74 69 6f 6e 20 54 69 | 6d 65 72 28 29 0d 0a 20 |ction Ti|mer().. |
|000038f0| 20 20 20 7b 0d 0a 20 20 | 20 20 20 20 20 20 6c 6f | {.. | lo|
|00003900| 63 61 6c 20 56 65 63 74 | 6f 72 20 6e 65 77 6c 6f |cal Vect|or newlo|
|00003910| 63 3b 0d 0a 20 20 20 20 | 20 20 20 20 6c 6f 63 61 |c;.. | loca|
|00003920| 6c 20 69 6e 74 20 6e 65 | 77 63 61 6d 3b 0d 0a 0d |l int ne|wcam;...|
|00003930| 0a 20 20 20 20 20 20 20 | 20 69 66 20 28 63 75 72 |. | if (cur|
|00003940| 63 61 6d 20 3d 3d 20 2d | 32 20 7c 7c 20 21 4c 69 |cam == -|2 || !Li|
|00003950| 6e 65 4f 66 53 69 67 68 | 74 28 63 75 72 63 61 6d |neOfSigh|t(curcam|
|00003960| 2c 20 70 61 77 6e 29 29 | 0d 0a 20 20 20 20 20 20 |, pawn))|.. |
|00003970| 20 20 7b 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 | {.. | |
|00003980| 20 2f 2f 4c 6f 67 28 22 | 61 74 74 72 61 63 74 3a | //Log("|attract:|
|00003990| 20 73 77 69 74 63 68 20 | 63 61 6d 65 72 61 22 29 | switch |camera")|
|000039a0| 3b 0d 0a 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |;.... | |
|000039b0| 20 63 61 6d 74 69 6d 65 | 20 3d 20 30 3b 0d 0a 0d | camtime| = 0;...|
|000039c0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 69 66 20 |. | if |
|000039d0| 28 46 69 6e 64 46 69 78 | 65 64 43 61 6d 28 70 61 |(FindFix|edCam(pa|
|000039e0| 77 6e 2c 20 6e 65 77 63 | 61 6d 29 29 0d 0a 20 20 |wn, newc|am)).. |
|000039f0| 20 20 20 20 20 20 20 20 | 20 20 7b 0d 0a 20 20 20 | | {.. |
|00003a00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 69 66 20 | | if |
|00003a10| 28 63 75 72 63 61 6d 20 | 21 3d 20 6e 65 77 63 61 |(curcam |!= newca|
|00003a20| 6d 29 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |m).. | |
|00003a30| 20 20 20 20 7b 0d 0a 20 | 20 20 20 20 20 20 20 20 | {.. | |
|00003a40| 20 20 20 20 20 20 20 20 | 20 20 20 66 6f 63 75 73 | | focus|
|00003a50| 70 6f 69 6e 74 20 3d 20 | 70 61 77 6e 2e 4c 6f 63 |point = |pawn.Loc|
|00003a60| 61 74 69 6f 6e 3b 0d 0a | 20 20 20 20 20 20 20 20 |ation;..| |
|00003a70| 20 20 20 20 20 20 20 20 | 20 20 20 20 63 75 72 63 | | curc|
|00003a80| 61 6d 20 3d 20 6e 65 77 | 63 61 6d 3b 0d 0a 20 20 |am = new|cam;.. |
|00003a90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003aa0| 20 20 53 65 74 4c 6f 63 | 61 74 69 6f 6e 28 63 61 | SetLoc|ation(ca|
|00003ab0| 6d 6c 69 73 74 5b 63 75 | 72 63 61 6d 5d 2e 6c 6f |mlist[cu|rcam].lo|
|00003ac0| 63 61 74 69 6f 6e 29 3b | 0d 0a 20 20 20 20 20 20 |cation);|.. |
|00003ad0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 46 6f | | Fo|
|00003ae0| 76 41 6e 67 6c 65 20 3d | 20 63 61 6d 6c 69 73 74 |vAngle =| camlist|
|00003af0| 5b 63 75 72 63 61 6d 5d | 2e 56 69 65 77 41 6e 67 |[curcam]|.ViewAng|
|00003b00| 6c 65 3b 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |le;.. | |
|00003b10| 20 20 20 20 20 20 20 20 | 20 2f 2f 4c 6f 67 28 22 | | //Log("|
|00003b20| 61 74 74 72 61 63 74 3a | 20 76 69 65 77 69 6e 67 |attract:| viewing|
|00003b30| 20 66 72 6f 6d 20 22 24 | 63 61 6d 6c 69 73 74 5b | from "$|camlist[|
|00003b40| 63 75 72 63 61 6d 5d 29 | 3b 0d 0a 20 20 20 20 20 |curcam])|;.. |
|00003b50| 20 20 20 20 20 20 20 20 | 20 20 20 7d 0d 0a 20 20 | | }.. |
|00003b60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 65 6c | | el|
|00003b70| 73 65 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |se.. | |
|00003b80| 20 20 20 20 7b 0d 0a 20 | 20 20 20 20 20 20 20 20 | {.. | |
|00003b90| 20 20 20 20 20 20 20 20 | 20 20 20 2f 2f 4c 6f 67 | | //Log|
|00003ba0| 28 22 61 74 74 72 61 63 | 74 3a 20 7a 6f 69 6e 6b |("attrac|t: zoink|
|00003bb0| 73 21 20 74 68 69 73 20 | 73 68 6f 75 6c 64 6e 27 |s! this |shouldn'|
|00003bc0| 74 20 68 61 70 70 65 6e | 22 29 3b 0d 0a 20 20 20 |t happen|");.. |
|00003bd0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 7d 0d 0a | | }..|
|00003be0| 20 20 20 20 20 20 20 20 | 20 20 20 20 7d 0d 0a 20 | | }.. |
|00003bf0| 20 20 20 20 20 20 20 20 | 20 20 20 65 6c 73 65 0d | | else.|
|00003c00| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 7b 0d 0a |. | {..|
|00003c10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003c20| 6e 65 77 6c 6f 63 20 3d | 20 46 69 6e 64 46 6c 6f |newloc =| FindFlo|
|00003c30| 61 74 69 6e 67 43 61 6d | 28 70 61 77 6e 29 3b 0d |atingCam|(pawn);.|
|00003c40| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00003c50| 20 53 65 74 4c 6f 63 61 | 74 69 6f 6e 28 6e 65 77 | SetLoca|tion(new|
|00003c60| 6c 6f 63 29 3b 0d 0a 20 | 20 20 20 20 20 20 20 20 |loc);.. | |
|00003c70| 20 20 20 20 20 20 20 63 | 75 72 63 61 6d 20 3d 20 | c|urcam = |
|00003c80| 2d 31 3b 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |-1;.. | |
|00003c90| 20 20 20 20 20 46 6f 76 | 41 6e 67 6c 65 20 3d 20 | Fov|Angle = |
|00003ca0| 64 65 66 61 75 6c 74 2e | 46 6f 76 41 6e 67 6c 65 |default.|FovAngle|
|00003cb0| 3b 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;.. | |
|00003cc0| 20 20 20 66 6f 63 75 73 | 70 6f 69 6e 74 20 3d 20 | focus|point = |
|00003cd0| 70 61 77 6e 2e 4c 6f 63 | 61 74 69 6f 6e 3b 0d 0a |pawn.Loc|ation;..|
|00003ce0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003cf0| 2f 2f 4c 6f 67 28 22 61 | 74 74 72 61 63 74 3a 20 |//Log("a|ttract: |
|00003d00| 66 6c 6f 61 74 69 6e 67 | 22 29 3b 0d 0a 20 20 20 |floating|");.. |
|00003d10| 20 20 20 20 20 20 20 20 | 20 7d 0d 0a 0d 0a 20 20 | | }.... |
|00003d20| 20 20 20 20 20 20 20 20 | 20 20 43 61 6d 65 72 61 | | Camera|
|00003d30| 53 77 69 76 65 6c 20 3d | 20 43 61 6d 65 72 61 54 |Swivel =| CameraT|
|00003d40| 72 61 63 6b 28 70 61 77 | 6e 2c 20 30 29 3b 0d 0a |rack(paw|n, 0);..|
|00003d50| 20 20 20 20 20 20 20 20 | 7d 0d 0a 20 20 20 20 7d | |}.. }|
|00003d60| 0d 0a 0d 0a 20 20 20 20 | 65 78 65 63 20 66 75 6e |.... |exec fun|
|00003d70| 63 74 69 6f 6e 20 54 6f | 67 67 6c 65 50 6c 61 79 |ction To|gglePlay|
|00003d80| 65 72 41 74 74 72 61 63 | 74 28 29 0d 0a 20 20 20 |erAttrac|t().. |
|00003d90| 20 7b 0d 0a 20 20 20 20 | 20 20 20 20 47 6f 74 6f | {.. | Goto|
|00003da0| 53 74 61 74 65 28 27 50 | 6c 61 79 65 72 57 61 6c |State('P|layerWal|
|00003db0| 6b 69 6e 67 27 29 3b 0d | 0a 20 20 20 20 7d 0d 0a |king');.|. }..|
|00003dc0| 7d 0d 0a 0d 0a 66 75 6e | 63 74 69 6f 6e 20 46 69 |}....fun|ction Fi|
|00003dd0| 6c 6c 43 61 6d 65 72 61 | 4c 69 73 74 28 29 0d 0a |llCamera|List()..|
|00003de0| 7b 0d 0a 20 20 20 20 6c | 6f 63 61 6c 20 41 74 74 |{.. l|ocal Att|
|00003df0| 72 61 63 74 43 61 6d 65 | 72 61 20 63 61 6d 3b 0d |ractCame|ra cam;.|
|00003e00| 0a 20 20 20 20 6e 75 6d | 63 61 6d 73 20 3d 20 30 |. num|cams = 0|
|00003e10| 3b 0d 0a 20 20 20 20 66 | 6f 72 65 61 63 68 20 41 |;.. f|oreach A|
|00003e20| 6c 6c 41 63 74 6f 72 73 | 28 63 6c 61 73 73 27 41 |llActors|(class'A|
|00003e30| 74 74 72 61 63 74 43 61 | 6d 65 72 61 27 2c 20 63 |ttractCa|mera', c|
|00003e40| 61 6d 29 0d 0a 20 20 20 | 20 7b 0d 0a 20 20 20 20 |am).. | {.. |
|00003e50| 20 20 20 20 63 61 6d 6c | 69 73 74 5b 6e 75 6d 63 | caml|ist[numc|
|00003e60| 61 6d 73 2b 2b 5d 20 3d | 20 63 61 6d 3b 0d 0a 20 |ams++] =| cam;.. |
|00003e70| 20 20 20 20 20 20 20 69 | 66 20 28 6e 75 6d 63 61 | i|f (numca|
|00003e80| 6d 73 20 3d 3d 20 32 30 | 29 20 62 72 65 61 6b 3b |ms == 20|) break;|
|00003e90| 0d 0a 20 20 20 20 7d 0d | 0a 7d 0d 0a 0d 0a 66 75 |.. }.|.}....fu|
|00003ea0| 6e 63 74 69 6f 6e 20 62 | 6f 6f 6c 20 46 69 6e 64 |nction b|ool Find|
|00003eb0| 46 69 78 65 64 43 61 6d | 28 50 61 77 6e 20 74 61 |FixedCam|(Pawn ta|
|00003ec0| 72 67 65 74 2c 20 6f 75 | 74 20 69 6e 74 20 6e 65 |rget, ou|t int ne|
|00003ed0| 77 63 61 6d 29 0d 0a 7b | 0d 0a 20 20 20 20 6c 6f |wcam)..{|.. lo|
|00003ee0| 63 61 6c 20 69 6e 74 20 | 63 2c 20 62 65 73 74 63 |cal int |c, bestc|
|00003ef0| 3b 0d 0a 20 20 20 20 6c | 6f 63 61 6c 20 66 6c 6f |;.. l|ocal flo|
|00003f00| 61 74 20 64 69 73 74 2c | 20 62 65 73 74 64 69 73 |at dist,| bestdis|
|00003f10| 74 3b 0d 0a 0d 0a 20 20 | 20 20 62 65 73 74 63 20 |t;.... | bestc |
|00003f20| 3d 20 2d 31 3b 0d 0a 0d | 0a 20 20 20 20 66 6f 72 |= -1;...|. for|
|00003f30| 20 28 63 20 3d 20 30 3b | 20 63 20 3c 20 6e 75 6d | (c = 0;| c < num|
|00003f40| 63 61 6d 73 3b 20 63 2b | 2b 29 0d 0a 20 20 20 20 |cams; c+|+).. |
|00003f50| 7b 0d 0a 20 20 20 20 20 | 20 20 20 64 69 73 74 20 |{.. | dist |
|00003f60| 3d 20 56 53 69 7a 65 28 | 74 61 72 67 65 74 2e 6c |= VSize(|target.l|
|00003f70| 6f 63 61 74 69 6f 6e 20 | 2d 20 63 61 6d 6c 69 73 |ocation |- camlis|
|00003f80| 74 5b 63 5d 2e 6c 6f 63 | 61 74 69 6f 6e 29 3b 0d |t[c].loc|ation);.|
|00003f90| 0a 0d 0a 20 20 20 20 20 | 20 20 20 69 66 20 28 28 |... | if ((|
|00003fa0| 62 65 73 74 63 20 3d 3d | 20 2d 31 20 7c 7c 20 64 |bestc ==| -1 || d|
|00003fb0| 69 73 74 20 3c 20 62 65 | 73 74 64 69 73 74 29 20 |ist < be|stdist) |
|00003fc0| 26 26 20 4c 69 6e 65 4f | 66 53 69 67 68 74 28 63 |&& LineO|fSight(c|
|00003fd0| 2c 20 74 61 72 67 65 74 | 29 29 0d 0a 20 20 20 20 |, target|)).. |
|00003fe0| 20 20 20 20 7b 0d 0a 20 | 20 20 20 20 20 20 20 20 | {.. | |
|00003ff0| 20 20 20 62 65 73 74 63 | 20 3d 20 63 3b 0d 0a 20 | bestc| = c;.. |
|00004000| 20 20 20 20 20 20 20 20 | 20 20 20 62 65 73 74 64 | | bestd|
|00004010| 69 73 74 20 3d 20 64 69 | 73 74 3b 0d 0a 20 20 20 |ist = di|st;.. |
|00004020| 20 20 20 20 20 7d 0d 0a | 20 20 20 20 7d 0d 0a 0d | }..| }...|
|00004030| 0a 20 20 20 20 69 66 20 | 28 62 65 73 74 63 20 3d |. if |(bestc =|
|00004040| 3d 20 2d 31 29 20 72 65 | 74 75 72 6e 20 66 61 6c |= -1) re|turn fal|
|00004050| 73 65 3b 0d 0a 0d 0a 20 | 20 20 20 6e 65 77 63 61 |se;.... | newca|
|00004060| 6d 20 3d 20 62 65 73 74 | 63 3b 0d 0a 20 20 20 20 |m = best|c;.. |
|00004070| 72 65 74 75 72 6e 20 74 | 72 75 65 3b 0d 0a 7d 0d |return t|rue;..}.|
|00004080| 0a 0d 0a 66 75 6e 63 74 | 69 6f 6e 20 56 65 63 74 |...funct|ion Vect|
|00004090| 6f 72 20 46 69 6e 64 46 | 6c 6f 61 74 69 6e 67 43 |or FindF|loatingC|
|000040a0| 61 6d 28 50 61 77 6e 20 | 74 61 72 67 65 74 29 0d |am(Pawn |target).|
|000040b0| 0a 7b 0d 0a 20 20 20 20 | 6c 6f 63 61 6c 20 56 65 |.{.. |local Ve|
|000040c0| 63 74 6f 72 20 76 31 2c | 20 76 32 2c 20 64 3b 0d |ctor v1,| v2, d;.|
|000040d0| 0a 20 20 20 20 6c 6f 63 | 61 6c 20 52 6f 74 61 74 |. loc|al Rotat|
|000040e0| 6f 72 20 72 3b 0d 0a 20 | 20 20 20 6c 6f 63 61 6c |or r;.. | local|
|000040f0| 20 56 65 63 74 6f 72 20 | 68 69 74 6c 6f 63 2c 20 | Vector |hitloc, |
|00004100| 68 69 74 6e 6f 72 6d 61 | 6c 3b 0d 0a 20 20 20 20 |hitnorma|l;.. |
|00004110| 6c 6f 63 61 6c 20 41 63 | 74 6f 72 20 68 69 74 61 |local Ac|tor hita|
|00004120| 63 74 6f 72 3b 0d 0a 20 | 20 20 20 6c 6f 63 61 6c |ctor;.. | local|
|00004130| 20 69 6e 74 20 74 72 69 | 65 73 3b 0d 0a 0d 0a 20 | int tri|es;.... |
|00004140| 20 20 20 77 68 69 6c 65 | 20 28 74 72 69 65 73 2b | while| (tries+|
|00004150| 2b 20 3c 20 31 30 29 0d | 0a 20 20 20 20 7b 0d 0a |+ < 10).|. {..|
|00004160| 20 20 20 20 20 20 20 20 | 76 31 20 3d 20 74 61 72 | |v1 = tar|
|00004170| 67 65 74 2e 4c 6f 63 61 | 74 69 6f 6e 3b 0d 0a 20 |get.Loca|tion;.. |
|00004180| 20 20 20 20 20 20 20 72 | 20 3d 20 74 61 72 67 65 | r| = targe|
|00004190| 74 2e 52 6f 74 61 74 69 | 6f 6e 3b 0d 0a 20 20 20 |t.Rotati|on;.. |
|000041a0| 20 20 20 20 20 72 2e 50 | 69 74 63 68 20 3d 20 46 | r.P|itch = F|
|000041b0| 52 61 6e 64 28 29 2a 31 | 32 30 30 30 20 2d 20 32 |Rand()*1|2000 - 2|
|000041c0| 30 30 30 3b 0d 0a 20 20 | 20 20 20 20 20 20 69 66 |000;.. | if|
|000041d0| 20 28 56 53 69 7a 65 28 | 74 61 72 67 65 74 2e 56 | (VSize(|target.V|
|000041e0| 65 6c 6f 63 69 74 79 29 | 20 3c 20 31 30 30 29 0d |elocity)| < 100).|
|000041f0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 72 2e 59 |. | r.Y|
|00004200| 61 77 20 2b 3d 20 46 52 | 61 6e 64 28 29 2a 32 34 |aw += FR|and()*24|
|00004210| 30 30 30 3b 0d 0a 20 20 | 20 20 20 20 20 20 65 6c |000;.. | el|
|00004220| 73 65 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |se.. | |
|00004230| 72 2e 59 61 77 20 2b 3d | 20 46 52 61 6e 64 28 29 |r.Yaw +=| FRand()|
|00004240| 2a 31 32 30 30 30 3b 0d | 0a 20 20 20 20 20 20 20 |*12000;.|. |
|00004250| 20 64 20 3d 20 56 65 63 | 74 6f 72 28 72 29 3b 0d | d = Vec|tor(r);.|
|00004260| 0a 20 20 20 20 20 20 20 | 20 76 32 20 3d 20 76 31 |. | v2 = v1|
|00004270| 20 2b 20 64 2a 32 30 30 | 30 3b 0d 0a 20 20 20 20 | + d*200|0;.. |
|00004280| 20 20 20 20 76 31 20 2b | 3d 20 64 2a 35 30 3b 0d | v1 +|= d*50;.|
|00004290| 0a 0d 0a 20 20 20 20 20 | 20 20 20 68 69 74 61 63 |... | hitac|
|000042a0| 74 6f 72 20 3d 20 54 72 | 61 63 65 28 68 69 74 6c |tor = Tr|ace(hitl|
|000042b0| 6f 63 2c 20 68 69 74 6e | 6f 72 6d 61 6c 2c 20 76 |oc, hitn|ormal, v|
|000042c0| 32 2c 20 76 31 2c 20 66 | 61 6c 73 65 29 3b 0d 0a |2, v1, f|alse);..|
|000042d0| 0d 0a 20 20 20 20 20 20 | 20 20 69 66 20 28 68 69 |.. | if (hi|
|000042e0| 74 61 63 74 6f 72 20 21 | 3d 20 4e 6f 6e 65 20 26 |tactor !|= None &|
|000042f0| 26 20 56 53 69 7a 65 28 | 68 69 74 6c 6f 63 20 2d |& VSize(|hitloc -|
|00004300| 20 76 31 29 20 3e 20 32 | 35 30 29 0d 0a 20 20 20 | v1) > 2|50).. |
|00004310| 20 20 20 20 20 7b 0d 0a | 20 20 20 20 20 20 20 20 | {..| |
|00004320| 20 20 20 20 72 65 74 75 | 72 6e 20 28 68 69 74 6c | retu|rn (hitl|
|00004330| 6f 63 20 2d 20 64 2a 35 | 30 29 3b 0d 0a 20 20 20 |oc - d*5|0);.. |
|00004340| 20 20 20 20 20 7d 0d 0a | 20 20 20 20 7d 0d 0a 20 | }..| }.. |
|00004350| 20 20 20 2f 2f 20 6e 6f | 20 67 6f 6f 64 20 73 70 | // no| good sp|
|00004360| 6f 74 73 20 66 6f 75 6e | 64 2c 20 72 65 74 75 72 |ots foun|d, retur|
|00004370| 6e 20 73 6f 6d 65 74 68 | 69 6e 67 20 72 65 61 73 |n someth|ing reas|
|00004380| 6f 6e 61 62 6c 65 0d 0a | 20 20 20 20 69 66 20 28 |onable..| if (|
|00004390| 68 69 74 61 63 74 6f 72 | 20 21 3d 20 4e 6f 6e 65 |hitactor| != None|
|000043a0| 29 0d 0a 20 20 20 20 20 | 20 20 20 72 65 74 75 72 |).. | retur|
|000043b0| 6e 20 28 68 69 74 6c 6f | 63 20 2d 20 64 2a 35 30 |n (hitlo|c - d*50|
|000043c0| 29 3b 0d 0a 20 20 20 20 | 65 6c 73 65 0d 0a 20 20 |);.. |else.. |
|000043d0| 20 20 20 20 20 20 72 65 | 74 75 72 6e 20 76 32 3b | re|turn v2;|
|000043e0| 0d 0a 7d 0d 0a 0d 0a 66 | 75 6e 63 74 69 6f 6e 20 |..}....f|unction |
|000043f0| 50 61 77 6e 20 50 69 63 | 6b 4e 65 78 74 42 6f 74 |Pawn Pic|kNextBot|
|00004400| 28 50 61 77 6e 20 63 75 | 72 72 65 6e 74 29 0d 0a |(Pawn cu|rrent)..|
|00004410| 7b 0d 0a 20 20 20 20 6c | 6f 63 61 6c 20 43 6f 6e |{.. l|ocal Con|
|00004420| 74 72 6f 6c 6c 65 72 20 | 63 6f 6e 3b 0d 0a 20 20 |troller |con;.. |
|00004430| 20 20 6c 6f 63 61 6c 20 | 69 6e 74 20 62 3b 0d 0a | local |int b;..|
|00004440| 0d 0a 20 20 20 20 69 66 | 20 28 63 75 72 72 65 6e |.. if| (curren|
|00004450| 74 20 21 3d 20 4e 6f 6e | 65 29 20 63 6f 6e 20 3d |t != Non|e) con =|
|00004460| 20 63 75 72 72 65 6e 74 | 2e 43 6f 6e 74 72 6f 6c | current|.Control|
|00004470| 6c 65 72 3b 0d 0a 20 20 | 20 20 66 6f 72 20 28 62 |ler;.. | for (b|
|00004480| 3d 30 3b 20 62 3c 4c 65 | 76 65 6c 2e 47 61 6d 65 |=0; b<Le|vel.Game|
|00004490| 2e 4e 75 6d 42 6f 74 73 | 3b 20 62 2b 2b 29 0d 0a |.NumBots|; b++)..|
|000044a0| 20 20 20 20 7b 0d 0a 20 | 20 20 20 20 20 20 20 69 | {.. | i|
|000044b0| 66 20 28 63 6f 6e 20 21 | 3d 20 4e 6f 6e 65 29 20 |f (con !|= None) |
|000044c0| 63 6f 6e 20 3d 20 63 6f | 6e 2e 4e 65 78 74 43 6f |con = co|n.NextCo|
|000044d0| 6e 74 72 6f 6c 6c 65 72 | 3b 0d 0a 20 20 20 20 20 |ntroller|;.. |
|000044e0| 20 20 20 69 66 20 28 63 | 6f 6e 20 3d 3d 20 4e 6f | if (c|on == No|
|000044f0| 6e 65 29 20 63 6f 6e 20 | 3d 20 4c 65 76 65 6c 2e |ne) con |= Level.|
|00004500| 43 6f 6e 74 72 6f 6c 6c | 65 72 4c 69 73 74 3b 0d |Controll|erList;.|
|00004510| 0a 20 20 20 20 20 20 20 | 20 69 66 20 28 63 6f 6e |. | if (con|
|00004520| 2e 49 73 41 28 27 42 6f | 74 27 29 20 26 26 20 63 |.IsA('Bo|t') && c|
|00004530| 6f 6e 2e 50 61 77 6e 20 | 21 3d 20 4e 6f 6e 65 20 |on.Pawn |!= None |
|00004540| 26 26 20 21 63 6f 6e 2e | 49 73 49 6e 53 74 61 74 |&& !con.|IsInStat|
|00004550| 65 28 27 50 6c 61 79 65 | 72 57 61 69 74 69 6e 67 |e('Playe|rWaiting|
|00004560| 27 29 29 0d 0a 20 20 20 | 20 20 20 20 20 7b 0d 0a |')).. | {..|
|00004570| 20 20 20 20 20 20 20 20 | 20 20 20 20 72 65 74 75 | | retu|
|00004580| 72 6e 20 63 6f 6e 2e 50 | 61 77 6e 3b 0d 0a 20 20 |rn con.P|awn;.. |
|00004590| 20 20 20 20 20 20 7d 0d | 0a 20 20 20 20 7d 0d 0a | }.|. }..|
|000045a0| 20 20 20 20 72 65 74 75 | 72 6e 20 4e 6f 6e 65 3b | retu|rn None;|
|000045b0| 0d 0a 7d 0d 0a 0d 0a 66 | 75 6e 63 74 69 6f 6e 20 |..}....f|unction |
|000045c0| 62 6f 6f 6c 20 4c 69 6e | 65 4f 66 53 69 67 68 74 |bool Lin|eOfSight|
|000045d0| 28 69 6e 74 20 63 2c 20 | 50 61 77 6e 20 74 61 72 |(int c, |Pawn tar|
|000045e0| 67 65 74 29 0d 0a 7b 0d | 0a 20 20 20 20 6c 6f 63 |get)..{.|. loc|
|000045f0| 61 6c 20 76 65 63 74 6f | 72 20 76 31 2c 20 76 32 |al vecto|r v1, v2|
|00004600| 3b 0d 0a 20 20 20 20 6c | 6f 63 61 6c 20 41 74 74 |;.. l|ocal Att|
|00004610| 72 61 63 74 43 61 6d 65 | 72 61 20 63 61 6d 3b 0d |ractCame|ra cam;.|
|00004620| 0a 20 20 20 20 6c 6f 63 | 61 6c 20 56 65 63 74 6f |. loc|al Vecto|
|00004630| 72 20 68 69 74 6c 6f 63 | 2c 20 68 69 74 6e 6f 72 |r hitloc|, hitnor|
|00004640| 6d 61 6c 3b 0d 0a 0d 0a | 20 20 20 20 69 66 20 28 |mal;....| if (|
|00004650| 63 20 3e 3d 20 30 29 20 | 7b 0d 0a 20 20 20 20 20 |c >= 0) |{.. |
|00004660| 20 20 20 63 61 6d 20 3d | 20 63 61 6d 6c 69 73 74 | cam =| camlist|
|00004670| 5b 63 5d 3b 0d 0a 20 20 | 20 20 20 20 20 20 76 31 |[c];.. | v1|
|00004680| 20 3d 20 63 61 6d 2e 6c | 6f 63 61 74 69 6f 6e 3b | = cam.l|ocation;|
|00004690| 0d 0a 20 20 20 20 7d 20 | 65 6c 73 65 20 7b 0d 0a |.. } |else {..|
|000046a0| 20 20 20 20 20 20 20 20 | 76 31 20 3d 20 73 65 6c | |v1 = sel|
|000046b0| 66 2e 6c 6f 63 61 74 69 | 6f 6e 3b 0d 0a 20 20 20 |f.locati|on;.. |
|000046c0| 20 7d 0d 0a 20 20 20 20 | 76 32 20 3d 20 74 61 72 | }.. |v2 = tar|
|000046d0| 67 65 74 2e 6c 6f 63 61 | 74 69 6f 6e 3b 0d 0a 20 |get.loca|tion;.. |
|000046e0| 20 20 20 76 32 2e 7a 20 | 2b 3d 20 74 61 72 67 65 | v2.z |+= targe|
|000046f0| 74 2e 65 79 65 68 65 69 | 67 68 74 3b 0d 0a 20 20 |t.eyehei|ght;.. |
|00004700| 20 20 76 32 20 2b 3d 20 | 4e 6f 72 6d 61 6c 28 76 | v2 += |Normal(v|
|00004710| 31 20 2d 20 76 32 29 20 | 2a 20 31 30 30 3b 0d 0a |1 - v2) |* 100;..|
|00004720| 20 20 20 20 72 65 74 75 | 72 6e 20 28 54 72 61 63 | retu|rn (Trac|
|00004730| 65 28 68 69 74 6c 6f 63 | 2c 20 68 69 74 6e 6f 72 |e(hitloc|, hitnor|
|00004740| 6d 61 6c 2c 20 76 31 2c | 20 76 32 2c 20 66 61 6c |mal, v1,| v2, fal|
|00004750| 73 65 29 20 3d 3d 20 4e | 6f 6e 65 29 3b 0d 0a 7d |se) == N|one);..}|
|00004760| 0d 0a 0d 0a 66 75 6e 63 | 74 69 6f 6e 20 52 6f 74 |....func|tion Rot|
|00004770| 61 74 6f 72 20 43 61 6d | 65 72 61 54 72 61 63 6b |ator Cam|eraTrack|
|00004780| 28 50 61 77 6e 20 74 61 | 72 67 65 74 2c 20 66 6c |(Pawn ta|rget, fl|
|00004790| 6f 61 74 20 44 65 6c 74 | 61 54 69 6d 65 29 0d 0a |oat Delt|aTime)..|
|000047a0| 7b 0d 0a 20 20 20 20 6c | 6f 63 61 6c 20 66 6c 6f |{.. l|ocal flo|
|000047b0| 61 74 20 64 69 73 74 3b | 0d 0a 20 20 20 20 6c 6f |at dist;|.. lo|
|000047c0| 63 61 6c 20 56 65 63 74 | 6f 72 20 6c 65 61 64 3b |cal Vect|or lead;|
|000047d0| 0d 0a 20 20 20 20 6c 6f | 63 61 6c 20 66 6c 6f 61 |.. lo|cal floa|
|000047e0| 74 20 6d 69 6e 7a 6f 6f | 6d 64 69 73 74 2c 20 6d |t minzoo|mdist, m|
|000047f0| 61 78 7a 6f 6f 6d 64 69 | 73 74 2c 20 76 69 65 77 |axzoomdi|st, view|
|00004800| 61 6e 67 6c 65 2c 20 76 | 69 65 77 77 69 64 74 68 |angle, v|iewwidth|
|00004810| 3b 0d 0a 0d 0a 20 20 20 | 20 2f 2f 20 75 70 64 61 |;.... | // upda|
|00004820| 74 65 20 66 6f 63 75 73 | 70 6f 69 6e 74 0d 0a 20 |te focus|point.. |
|00004830| 20 20 20 6c 65 61 64 20 | 3d 20 74 61 72 67 65 74 | lead |= target|
|00004840| 2e 6c 6f 63 61 74 69 6f | 6e 20 2b 20 56 65 63 74 |.locatio|n + Vect|
|00004850| 28 30 2c 30 2c 32 29 20 | 2a 20 54 61 72 67 65 74 |(0,0,2) |* Target|
|00004860| 2e 43 6f 6c 6c 69 73 69 | 6f 6e 48 65 69 67 68 74 |.Collisi|onHeight|
|00004870| 3b 20 2f 2f 20 2b 20 74 | 61 72 67 65 74 2e 56 65 |; // + t|arget.Ve|
|00004880| 6c 6f 63 69 74 79 2a 30 | 2e 35 3b 0d 0a 20 20 20 |locity*0|.5;.. |
|00004890| 20 64 69 73 74 20 3d 20 | 56 53 69 7a 65 28 6c 65 | dist = |VSize(le|
|000048a0| 61 64 20 2d 20 66 6f 63 | 75 73 70 6f 69 6e 74 29 |ad - foc|uspoint)|
|000048b0| 3b 0d 0a 20 20 20 20 69 | 66 20 28 64 69 73 74 20 |;.. i|f (dist |
|000048c0| 3e 20 32 30 29 0d 0a 20 | 20 20 20 7b 0d 0a 20 20 |> 20).. | {.. |
|000048d0| 20 20 20 20 20 20 66 6f | 63 75 73 70 6f 69 6e 74 | fo|cuspoint|
|000048e0| 20 2b 3d 20 4e 6f 72 6d | 61 6c 28 6c 65 61 64 20 | += Norm|al(lead |
|000048f0| 2d 20 66 6f 63 75 73 70 | 6f 69 6e 74 29 20 2a 20 |- focusp|oint) * |
|00004900| 64 69 73 74 20 2a 20 44 | 65 6c 74 61 54 69 6d 65 |dist * D|eltaTime|
|00004910| 20 2a 20 32 2e 30 3b 0d | 0a 20 20 20 20 7d 0d 0a | * 2.0;.|. }..|
|00004920| 0d 0a 20 20 20 20 2f 2f | 20 61 64 6a 75 73 74 20 |.. //| adjust |
|00004930| 7a 6f 6f 6d 20 77 69 74 | 68 69 6e 20 62 6f 75 6e |zoom wit|hin boun|
|00004940| 64 73 20 28 46 6f 76 41 | 6e 67 6c 65 20 33 30 2d |ds (FovA|ngle 30-|
|00004950| 31 30 30 29 0d 0a 20 20 | 20 20 69 66 20 28 61 75 |100).. | if (au|
|00004960| 74 6f 7a 6f 6f 6d 29 0d | 0a 20 20 20 20 7b 0d 0a |tozoom).|. {..|
|00004970| 20 20 20 20 20 20 20 20 | 64 69 73 74 20 3d 20 56 | |dist = V|
|00004980| 53 69 7a 65 28 4c 6f 63 | 61 74 69 6f 6e 20 2d 20 |Size(Loc|ation - |
|00004990| 74 61 72 67 65 74 2e 4c | 6f 63 61 74 69 6f 6e 29 |target.L|ocation)|
|000049a0| 3b 0d 0a 0d 0a 20 20 20 | 20 20 20 20 20 69 66 20 |;.... | if |
|000049b0| 28 63 75 72 63 61 6d 20 | 3e 3d 20 30 29 0d 0a 20 |(curcam |>= 0).. |
|000049c0| 20 20 20 20 20 20 20 7b | 0d 0a 20 20 20 20 20 20 | {|.. |
|000049d0| 20 20 20 20 20 20 6d 69 | 6e 7a 6f 6f 6d 64 69 73 | mi|nzoomdis|
|000049e0| 74 20 3d 20 63 61 6d 6c | 69 73 74 5b 63 75 72 63 |t = caml|ist[curc|
|000049f0| 61 6d 5d 2e 6d 69 6e 7a | 6f 6f 6d 64 69 73 74 3b |am].minz|oomdist;|
|00004a00| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 6d 61 |.. | ma|
|00004a10| 78 7a 6f 6f 6d 64 69 73 | 74 20 3d 20 63 61 6d 6c |xzoomdis|t = caml|
|00004a20| 69 73 74 5b 63 75 72 63 | 61 6d 5d 2e 6d 61 78 7a |ist[curc|am].maxz|
|00004a30| 6f 6f 6d 64 69 73 74 3b | 0d 0a 20 20 20 20 20 20 |oomdist;|.. |
|00004a40| 20 20 20 20 20 20 76 69 | 65 77 61 6e 67 6c 65 20 | vi|ewangle |
|00004a50| 3d 20 63 61 6d 6c 69 73 | 74 5b 63 75 72 63 61 6d |= camlis|t[curcam|
|00004a60| 5d 2e 56 69 65 77 41 6e | 67 6c 65 3b 0d 0a 20 20 |].ViewAn|gle;.. |
|00004a70| 20 20 20 20 20 20 7d 0d | 0a 20 20 20 20 20 20 20 | }.|. |
|00004a80| 20 65 6c 73 65 0d 0a 20 | 20 20 20 20 20 20 20 7b | else.. | {|
|00004a90| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 6d 69 |.. | mi|
|00004aa0| 6e 7a 6f 6f 6d 64 69 73 | 74 20 3d 20 36 30 30 3b |nzoomdis|t = 600;|
|00004ab0| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 6d 61 |.. | ma|
|00004ac0| 78 7a 6f 6f 6d 64 69 73 | 74 20 3d 20 31 32 30 30 |xzoomdis|t = 1200|
|00004ad0| 3b 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 76 |;.. | v|
|00004ae0| 69 65 77 61 6e 67 6c 65 | 20 3d 20 64 65 66 61 75 |iewangle| = defau|
|00004af0| 6c 74 2e 46 6f 76 41 6e | 67 6c 65 3b 0d 0a 20 20 |lt.FovAn|gle;.. |
|00004b00| 20 20 20 20 20 20 7d 0d | 0a 0d 0a 20 20 20 20 20 | }.|... |
|00004b10| 20 20 20 69 66 20 28 64 | 69 73 74 20 3c 20 6d 69 | if (d|ist < mi|
|00004b20| 6e 7a 6f 6f 6d 64 69 73 | 74 29 0d 0a 20 20 20 20 |nzoomdis|t).. |
|00004b30| 20 20 20 20 7b 0d 0a 20 | 20 20 20 20 20 20 20 20 | {.. | |
|00004b40| 20 20 20 46 6f 76 41 6e | 67 6c 65 20 3d 20 76 69 | FovAn|gle = vi|
|00004b50| 65 77 61 6e 67 6c 65 3b | 0d 0a 20 20 20 20 20 20 |ewangle;|.. |
|00004b60| 20 20 7d 0d 0a 20 20 20 | 20 20 20 20 20 65 6c 73 | }.. | els|
|00004b70| 65 20 69 66 20 28 64 69 | 73 74 20 3c 20 6d 61 78 |e if (di|st < max|
|00004b80| 7a 6f 6f 6d 64 69 73 74 | 29 0d 0a 20 20 20 20 20 |zoomdist|).. |
|00004b90| 20 20 20 7b 0d 0a 20 20 | 20 20 20 20 20 20 20 20 | {.. | |
|00004ba0| 20 20 76 69 65 77 77 69 | 64 74 68 20 3d 20 6d 69 | viewwi|dth = mi|
|00004bb0| 6e 7a 6f 6f 6d 64 69 73 | 74 2a 54 61 6e 28 76 69 |nzoomdis|t*Tan(vi|
|00004bc0| 65 77 61 6e 67 6c 65 2a | 50 49 2f 31 38 30 20 2f |ewangle*|PI/180 /|
|00004bd0| 20 32 29 3b 0d 0a 20 20 | 20 20 20 20 20 20 20 20 | 2);.. | |
|00004be0| 20 20 46 6f 76 41 6e 67 | 6c 65 20 3d 20 41 74 61 | FovAng|le = Ata|
|00004bf0| 6e 28 76 69 65 77 77 69 | 64 74 68 2c 20 64 69 73 |n(viewwi|dth, dis|
|00004c00| 74 29 20 2a 20 31 38 30 | 2f 50 49 20 2a 20 32 3b |t) * 180|/PI * 2;|
|00004c10| 0d 0a 20 20 20 20 20 20 | 20 20 7d 0d 0a 0d 0a 20 |.. | }.... |
|00004c20| 20 20 20 20 20 20 20 44 | 65 73 69 72 65 64 46 4f | D|esiredFO|
|00004c30| 56 20 3d 20 46 6f 76 41 | 6e 67 6c 65 3b 0d 0a 20 |V = FovA|ngle;.. |
|00004c40| 20 20 20 7d 0d 0a 0d 0a | 20 20 20 20 72 65 74 75 | }....| retu|
|00004c50| 72 6e 20 52 6f 74 61 74 | 6f 72 28 66 6f 63 75 73 |rn Rotat|or(focus|
|00004c60| 70 6f 69 6e 74 20 2d 20 | 6c 6f 63 61 74 69 6f 6e |point - |location|
|00004c70| 29 3b 0d 0a 7d 0d 0a 0d | 0a 66 75 6e 63 74 69 6f |);..}...|.functio|
|00004c80| 6e 20 50 61 77 6e 44 69 | 65 64 28 50 61 77 6e 20 |n PawnDi|ed(Pawn |
|00004c90| 50 29 0d 0a 7b 0d 0a 09 | 69 66 20 28 20 50 61 77 |P)..{...|if ( Paw|
|00004ca0| 6e 20 21 3d 20 50 20 29 | 0d 0a 09 09 72 65 74 75 |n != P )|....retu|
|00004cb0| 72 6e 3b 0d 0a 20 20 20 | 20 62 42 65 68 69 6e 64 |rn;.. | bBehind|
|00004cc0| 76 69 65 77 20 3d 20 74 | 72 75 65 3b 0d 0a 09 4c |view = t|rue;...L|
|00004cd0| 61 73 74 4b 69 6c 6c 54 | 69 6d 65 20 3d 20 2d 35 |astKillT|ime = -5|
|00004ce0| 2e 30 3b 0d 0a 0d 0a 20 | 20 20 20 69 66 20 28 50 |.0;.... | if (P|
|00004cf0| 61 77 6e 20 21 3d 20 4e | 6f 6e 65 29 0d 0a 20 20 |awn != N|one).. |
|00004d00| 20 20 7b 0d 0a 20 20 20 | 20 20 20 20 20 63 75 72 | {.. | cur|
|00004d10| 63 61 6d 20 3d 20 2d 31 | 3b 0d 0a 20 20 20 20 20 |cam = -1|;.. |
|00004d20| 20 20 20 53 65 74 4c 6f | 63 61 74 69 6f 6e 28 46 | SetLo|cation(F|
|00004d30| 69 6e 64 46 6c 6f 61 74 | 69 6e 67 43 61 6d 28 50 |indFloat|ingCam(P|
|00004d40| 61 77 6e 29 29 3b 0d 0a | 20 20 20 20 20 20 20 20 |awn));..| |
|00004d50| 53 65 74 52 6f 74 61 74 | 69 6f 6e 28 43 61 6d 65 |SetRotat|ion(Came|
|00004d60| 72 61 54 72 61 63 6b 28 | 50 61 77 6e 2c 20 30 29 |raTrack(|Pawn, 0)|
|00004d70| 29 3b 0d 0a 20 20 20 20 | 7d 0d 0a 0d 0a 20 20 20 |);.. |}.... |
|00004d80| 20 53 75 70 65 72 2e 50 | 61 77 6e 44 69 65 64 28 | Super.P|awnDied(|
|00004d90| 50 29 3b 0d 0a 7d 0d 0a | 0d 0a 66 75 6e 63 74 69 |P);..}..|..functi|
|00004da0| 6f 6e 20 53 65 74 50 61 | 77 6e 43 6c 61 73 73 28 |on SetPa|wnClass(|
|00004db0| 73 74 72 69 6e 67 20 69 | 6e 43 6c 61 73 73 2c 20 |string i|nClass, |
|00004dc0| 73 74 72 69 6e 67 20 69 | 6e 43 68 61 72 61 63 74 |string i|nCharact|
|00004dd0| 65 72 29 0d 0a 7b 0d 0a | 20 20 20 20 6c 6f 63 61 |er)..{..| loca|
|00004de0| 6c 20 63 6c 61 73 73 3c | 78 50 61 77 6e 3e 20 70 |l class<|xPawn> p|
|00004df0| 43 6c 61 73 73 3b 0d 0a | 0d 0a 20 20 20 20 69 66 |Class;..|.. if|
|00004e00| 20 28 20 69 6e 43 6c 61 | 73 73 20 21 3d 20 22 22 | ( inCla|ss != ""|
|00004e10| 20 29 0d 0a 09 7b 0d 0a | 09 09 70 43 6c 61 73 73 | )...{..|..pClass|
|00004e20| 20 3d 20 63 6c 61 73 73 | 3c 78 50 61 77 6e 3e 28 | = class|<xPawn>(|
|00004e30| 44 79 6e 61 6d 69 63 4c | 6f 61 64 4f 62 6a 65 63 |DynamicL|oadObjec|
|00004e40| 74 28 69 6e 43 6c 61 73 | 73 2c 20 63 6c 61 73 73 |t(inClas|s, class|
|00004e50| 27 43 6c 61 73 73 27 29 | 29 3b 0d 0a 09 09 69 66 |'Class')|);....if|
|00004e60| 20 28 20 28 70 43 6c 61 | 73 73 20 21 3d 20 4e 6f | ( (pCla|ss != No|
|00004e70| 6e 65 29 20 26 26 20 70 | 43 6c 61 73 73 2e 44 65 |ne) && p|Class.De|
|00004e80| 66 61 75 6c 74 2e 62 43 | 61 6e 50 69 63 6b 75 70 |fault.bC|anPickup|
|00004e90| 49 6e 76 65 6e 74 6f 72 | 79 20 29 0d 0a 09 09 09 |Inventor|y ).....|
|00004ea0| 50 61 77 6e 43 6c 61 73 | 73 20 3d 20 70 43 6c 61 |PawnClas|s = pCla|
|00004eb0| 73 73 3b 0d 0a 09 7d 0d | 0a 0d 0a 20 20 20 20 50 |ss;...}.|... P|
|00004ec0| 61 77 6e 53 65 74 75 70 | 52 65 63 6f 72 64 20 3d |awnSetup|Record =|
|00004ed0| 20 63 6c 61 73 73 27 78 | 55 74 69 6c 27 2e 73 74 | class'x|Util'.st|
|00004ee0| 61 74 69 63 2e 46 69 6e | 64 50 6c 61 79 65 72 52 |atic.Fin|dPlayerR|
|00004ef0| 65 63 6f 72 64 28 69 6e | 43 68 61 72 61 63 74 65 |ecord(in|Characte|
|00004f00| 72 29 3b 0d 0a 20 20 20 | 20 50 6c 61 79 65 72 52 |r);.. | PlayerR|
|00004f10| 65 70 6c 69 63 61 74 69 | 6f 6e 49 6e 66 6f 2e 53 |eplicati|onInfo.S|
|00004f20| 65 74 43 68 61 72 61 63 | 74 65 72 4e 61 6d 65 28 |etCharac|terName(|
|00004f30| 69 6e 43 68 61 72 61 63 | 74 65 72 29 3b 0d 0a 7d |inCharac|ter);..}|
|00004f40| 0d 0a 0d 0a 66 75 6e 63 | 74 69 6f 6e 20 53 65 74 |....func|tion Set|
|00004f50| 50 61 77 6e 46 65 6d 61 | 6c 65 28 29 0d 0a 7b 0d |PawnFema|le()..{.|
|00004f60| 0a 09 69 66 20 28 20 50 | 61 77 6e 53 65 74 75 70 |..if ( P|awnSetup|
|00004f70| 52 65 63 6f 72 64 2e 53 | 70 65 63 69 65 73 20 3d |Record.S|pecies =|
|00004f80| 3d 20 4e 6f 6e 65 20 29 | 0d 0a 09 09 50 6c 61 79 |= None )|....Play|
|00004f90| 65 72 52 65 70 6c 69 63 | 61 74 69 6f 6e 49 6e 66 |erReplic|ationInf|
|00004fa0| 6f 2e 62 49 73 46 65 6d | 61 6c 65 20 3d 20 74 72 |o.bIsFem|ale = tr|
|00004fb0| 75 65 3b 0d 0a 7d 0d 0a | 0d 0a 66 75 6e 63 74 69 |ue;..}..|..functi|
|00004fc0| 6f 6e 20 50 6f 73 73 65 | 73 73 28 20 50 61 77 6e |on Posse|ss( Pawn|
|00004fd0| 20 61 50 61 77 6e 20 29 | 0d 0a 7b 0d 0a 20 20 20 | aPawn )|..{.. |
|00004fe0| 20 6c 6f 63 61 6c 20 78 | 50 61 77 6e 20 78 70 3b | local x|Pawn xp;|
|00004ff0| 0d 0a 0d 0a 20 20 20 20 | 53 75 70 65 72 2e 50 6f |.... |Super.Po|
|00005000| 73 73 65 73 73 28 20 61 | 50 61 77 6e 20 29 3b 0d |ssess( a|Pawn );.|
|00005010| 0a 0d 0a 20 20 20 20 78 | 70 20 3d 20 78 50 61 77 |... x|p = xPaw|
|00005020| 6e 28 61 50 61 77 6e 29 | 3b 0d 0a 09 69 66 28 78 |n(aPawn)|;...if(x|
|00005030| 70 20 21 3d 20 4e 6f 6e | 65 29 0d 0a 09 09 78 70 |p != Non|e)....xp|
|00005040| 2e 53 65 74 75 70 28 50 | 61 77 6e 53 65 74 75 70 |.Setup(P|awnSetup|
|00005050| 52 65 63 6f 72 64 2c 20 | 74 72 75 65 29 3b 0d 0a |Record, |true);..|
|00005060| 09 69 66 20 28 20 4c 65 | 76 65 6c 2e 4e 65 74 4d |.if ( Le|vel.NetM|
|00005070| 6f 64 65 20 21 3d 20 4e | 4d 5f 44 65 64 69 63 61 |ode != N|M_Dedica|
|00005080| 74 65 64 53 65 72 76 65 | 72 20 29 0d 0a 09 09 53 |tedServe|r )....S|
|00005090| 65 72 76 65 72 53 65 74 | 43 6c 61 73 73 69 63 54 |erverSet|ClassicT|
|000050a0| 72 61 6e 73 28 62 43 6c | 61 73 73 69 63 54 72 61 |rans(bCl|assicTra|
|000050b0| 6e 73 29 3b 0d 0a 7d 0d | 0a 0d 0a 2f 2f 20 66 6f |ns);..}.|...// fo|
|000050c0| 72 20 63 68 61 6e 67 69 | 6e 67 20 63 68 61 72 61 |r changi|ng chara|
|000050d0| 63 74 65 72 20 6f 6e 20 | 74 68 65 20 66 6c 79 20 |cter on |the fly |
|000050e0| 28 66 6f 72 20 6e 65 78 | 74 20 72 65 73 70 61 77 |(for nex|t respaw|
|000050f0| 6e 29 0d 0a 65 78 65 63 | 20 66 75 6e 63 74 69 6f |n)..exec| functio|
|00005100| 6e 20 43 68 61 6e 67 65 | 43 68 61 72 61 63 74 65 |n Change|Characte|
|00005110| 72 28 73 74 72 69 6e 67 | 20 6e 65 77 43 68 61 72 |r(string| newChar|
|00005120| 61 63 74 65 72 29 0d 0a | 7b 0d 0a 20 20 20 20 53 |acter)..|{.. S|
|00005130| 65 74 50 61 77 6e 43 6c | 61 73 73 28 73 74 72 69 |etPawnCl|ass(stri|
|00005140| 6e 67 28 50 61 77 6e 43 | 6c 61 73 73 29 2c 20 6e |ng(PawnC|lass), n|
|00005150| 65 77 43 68 61 72 61 63 | 74 65 72 29 3b 0d 0a 09 |ewCharac|ter);...|
|00005160| 55 70 64 61 74 65 55 52 | 4c 28 22 43 68 61 72 61 |UpdateUR|L("Chara|
|00005170| 63 74 65 72 22 2c 20 6e | 65 77 43 68 61 72 61 63 |cter", n|ewCharac|
|00005180| 74 65 72 2c 20 74 72 75 | 65 29 3b 0d 0a 20 20 20 |ter, tru|e);.. |
|00005190| 20 53 61 76 65 43 6f 6e | 66 69 67 28 29 3b 0d 0a | SaveCon|fig();..|
|000051a0| 7d 0d 0a 0d 0a 73 69 6d | 75 6c 61 74 65 64 20 66 |}....sim|ulated f|
|000051b0| 75 6e 63 74 69 6f 6e 20 | 62 6f 6f 6c 20 4e 65 65 |unction |bool Nee|
|000051c0| 64 4e 65 74 4e 6f 74 69 | 66 79 28 29 0d 0a 7b 0d |dNetNoti|fy()..{.|
|000051d0| 0a 09 72 65 74 75 72 6e | 20 53 75 70 65 72 2e 4e |..return| Super.N|
|000051e0| 65 65 64 4e 65 74 4e 6f | 74 69 66 79 28 29 20 7c |eedNetNo|tify() ||
|000051f0| 7c 20 62 57 61 69 74 69 | 6e 67 46 6f 72 50 52 49 || bWaiti|ngForPRI|
|00005200| 20 7c 7c 20 28 62 56 6f | 69 63 65 43 68 61 74 45 | || (bVo|iceChatE|
|00005210| 6e 61 62 6c 65 64 20 26 | 26 20 62 57 61 69 74 69 |nabled &|& bWaiti|
|00005220| 6e 67 46 6f 72 56 52 49 | 29 3b 0d 0a 7d 0d 0a 0d |ngForVRI|);..}...|
|00005230| 0a 73 69 6d 75 6c 61 74 | 65 64 20 65 76 65 6e 74 |.simulat|ed event|
|00005240| 20 50 6f 73 74 4e 65 74 | 52 65 63 65 69 76 65 28 | PostNet|Receive(|
|00005250| 29 0d 0a 7b 0d 0a 20 20 | 20 20 6c 6f 63 61 6c 20 |)..{.. | local |
|00005260| 78 55 74 69 6c 2e 50 6c | 61 79 65 72 52 65 63 6f |xUtil.Pl|ayerReco|
|00005270| 72 64 20 72 65 63 3b 0d | 0a 0d 0a 09 53 75 70 65 |rd rec;.|....Supe|
|00005280| 72 2e 50 6f 73 74 4e 65 | 74 52 65 63 65 69 76 65 |r.PostNe|tReceive|
|00005290| 28 29 3b 0d 0a 0d 0a 09 | 69 66 20 28 20 50 6c 61 |();.....|if ( Pla|
|000052a0| 79 65 72 52 65 70 6c 69 | 63 61 74 69 6f 6e 49 6e |yerRepli|cationIn|
|000052b0| 66 6f 20 21 3d 20 4e 6f | 6e 65 20 26 26 20 62 57 |fo != No|ne && bW|
|000052c0| 61 69 74 69 6e 67 46 6f | 72 50 52 49 20 29 0d 0a |aitingFo|rPRI )..|
|000052d0| 20 20 20 20 7b 0d 0a 09 | 09 62 57 61 69 74 69 6e | {...|.bWaitin|
|000052e0| 67 46 6f 72 50 52 49 20 | 3d 20 46 61 6c 73 65 3b |gForPRI |= False;|
|000052f0| 0d 0a 0d 0a 20 20 20 20 | 20 20 20 20 72 65 63 20 |.... | rec |
|00005300| 3d 20 63 6c 61 73 73 27 | 78 55 74 69 6c 27 2e 73 |= class'|xUtil'.s|
|00005310| 74 61 74 69 63 2e 46 69 | 6e 64 50 6c 61 79 65 72 |tatic.Fi|ndPlayer|
|00005320| 52 65 63 6f 72 64 28 50 | 6c 61 79 65 72 52 65 70 |Record(P|layerRep|
|00005330| 6c 69 63 61 74 69 6f 6e | 49 6e 66 6f 2e 43 68 61 |lication|Info.Cha|
|00005340| 72 61 63 74 65 72 4e 61 | 6d 65 29 3b 0d 0a 09 09 |racterNa|me);....|
|00005350| 69 66 20 28 20 72 65 63 | 2e 53 70 65 63 69 65 73 |if ( rec|.Species|
|00005360| 20 21 3d 20 4e 6f 6e 65 | 20 29 0d 0a 09 09 7b 0d | != None| )....{.|
|00005370| 0a 09 09 09 69 66 20 28 | 20 50 6c 61 79 65 72 52 |....if (| PlayerR|
|00005380| 65 70 6c 69 63 61 74 69 | 6f 6e 49 6e 66 6f 2e 54 |eplicati|onInfo.T|
|00005390| 65 61 6d 20 3d 3d 20 4e | 6f 6e 65 20 29 0d 0a 09 |eam == N|one )...|
|000053a0| 09 09 09 72 65 63 2e 53 | 70 65 63 69 65 73 2e 73 |...rec.S|pecies.s|
|000053b0| 74 61 74 69 63 2e 4c 6f | 61 64 52 65 73 6f 75 72 |tatic.Lo|adResour|
|000053c0| 63 65 73 28 72 65 63 2c | 20 4c 65 76 65 6c 2c 20 |ces(rec,| Level, |
|000053d0| 50 6c 61 79 65 72 52 65 | 70 6c 69 63 61 74 69 6f |PlayerRe|plicatio|
|000053e0| 6e 49 6e 66 6f 2c 20 32 | 35 35 29 3b 0d 0a 09 09 |nInfo, 2|55);....|
|000053f0| 09 65 6c 73 65 0d 0a 09 | 09 09 09 72 65 63 2e 53 |.else...|...rec.S|
|00005400| 70 65 63 69 65 73 2e 73 | 74 61 74 69 63 2e 4c 6f |pecies.s|tatic.Lo|
|00005410| 61 64 52 65 73 6f 75 72 | 63 65 73 28 72 65 63 2c |adResour|ces(rec,|
|00005420| 20 4c 65 76 65 6c 2c 20 | 50 6c 61 79 65 72 52 65 | Level, |PlayerRe|
|00005430| 70 6c 69 63 61 74 69 6f | 6e 49 6e 66 6f 2c 20 50 |plicatio|nInfo, P|
|00005440| 6c 61 79 65 72 52 65 70 | 6c 69 63 61 74 69 6f 6e |layerRep|lication|
|00005450| 49 6e 66 6f 2e 54 65 61 | 6d 2e 54 65 61 6d 49 6e |Info.Tea|m.TeamIn|
|00005460| 64 65 78 29 3b 0d 0a 09 | 09 7d 0d 0a 0d 0a 20 20 |dex);...|.}.... |
|00005470| 20 20 20 20 20 20 2f 2f | 20 48 61 6e 64 6c 65 20 | //| Handle |
|00005480| 61 75 74 6f 20 44 65 6d | 6f 20 52 65 63 6f 72 64 |auto Dem|o Record|
|00005490| 69 6e 67 0d 0a 0d 0a 09 | 09 69 66 20 28 20 62 41 |ing.....|.if ( bA|
|000054a0| 75 74 6f 44 65 6d 6f 52 | 65 63 20 26 26 20 6c 65 |utoDemoR|ec && le|
|000054b0| 76 65 6c 2e 4e 65 74 4d | 6f 64 65 3d 3d 4e 4d 5f |vel.NetM|ode==NM_|
|000054c0| 43 6c 69 65 6e 74 20 26 | 26 20 21 62 44 65 6d 6f |Client &|& !bDemo|
|000054d0| 4f 77 6e 65 72 20 29 0d | 0a 09 09 09 50 6c 61 79 |Owner ).|....Play|
|000054e0| 65 72 2e 43 6f 6e 73 6f | 6c 65 2e 44 65 6c 61 79 |er.Conso|le.Delay|
|000054f0| 65 64 43 6f 6e 73 6f 6c | 65 43 6f 6d 6d 61 6e 64 |edConsol|eCommand|
|00005500| 28 22 64 65 6d 6f 72 65 | 63 22 29 3b 0d 0a 20 20 |("demore|c");.. |
|00005510| 20 20 7d 0d 0a 0d 0a 09 | 69 66 20 28 20 56 6f 69 | }.....|if ( Voi|
|00005520| 63 65 52 65 70 6c 69 63 | 61 74 69 6f 6e 49 6e 66 |ceReplic|ationInf|
|00005530| 6f 20 21 3d 20 4e 6f 6e | 65 20 26 26 20 62 57 61 |o != Non|e && bWa|
|00005540| 69 74 69 6e 67 46 6f 72 | 56 52 49 20 29 0d 0a 09 |itingFor|VRI )...|
|00005550| 7b 0d 0a 09 09 69 66 20 | 28 20 50 6c 61 79 65 72 |{....if |( Player|
|00005560| 52 65 70 6c 69 63 61 74 | 69 6f 6e 49 6e 66 6f 20 |Replicat|ionInfo |
|00005570| 21 3d 20 4e 6f 6e 65 20 | 26 26 20 21 50 6c 61 79 |!= None |&& !Play|
|00005580| 65 72 52 65 70 6c 69 63 | 61 74 69 6f 6e 49 6e 66 |erReplic|ationInf|
|00005590| 6f 2e 4e 65 65 64 4e 65 | 74 4e 6f 74 69 66 79 28 |o.NeedNe|tNotify(|
|000055a0| 29 20 29 0d 0a 09 09 7b | 0d 0a 09 09 09 62 57 61 |) )....{|.....bWa|
|000055b0| 69 74 69 6e 67 46 6f 72 | 56 52 49 20 3d 20 56 6f |itingFor|VRI = Vo|
|000055c0| 69 63 65 52 65 70 6c 69 | 63 61 74 69 6f 6e 49 6e |iceRepli|cationIn|
|000055d0| 66 6f 2e 47 65 74 50 75 | 62 6c 69 63 43 68 61 6e |fo.GetPu|blicChan|
|000055e0| 6e 65 6c 43 6f 75 6e 74 | 28 74 72 75 65 29 20 3d |nelCount|(true) =|
|000055f0| 3d 20 30 3b 0d 0a 09 09 | 09 69 66 20 28 20 21 62 |= 0;....|.if ( !b|
|00005600| 57 61 69 74 69 6e 67 46 | 6f 72 56 52 49 20 29 0d |WaitingF|orVRI ).|
|00005610| 0a 09 09 09 7b 0d 0a 09 | 09 09 09 56 6f 69 63 65 |....{...|...Voice|
|00005620| 52 65 70 6c 69 63 61 74 | 69 6f 6e 49 6e 66 6f 2e |Replicat|ionInfo.|
|00005630| 53 65 74 4f 77 6e 65 72 | 28 53 65 6c 66 29 3b 0d |SetOwner|(Self);.|
|00005640| 0a 09 09 09 09 69 66 20 | 28 20 62 56 6f 69 63 65 |.....if |( bVoice|
|00005650| 43 68 61 74 45 6e 61 62 | 6c 65 64 20 29 0d 0a 09 |ChatEnab|led )...|
|00005660| 09 09 09 09 49 6e 69 74 | 69 61 6c 69 7a 65 56 6f |....Init|ializeVo|
|00005670| 69 63 65 43 68 61 74 28 | 29 3b 0d 0a 09 09 09 09 |iceChat(|);......|
|00005680| 65 6c 73 65 20 44 69 73 | 61 62 6c 65 56 6f 69 63 |else Dis|ableVoic|
|00005690| 65 43 68 61 74 28 29 3b | 0d 0a 09 09 09 7d 0d 0a |eChat();|.....}..|
|000056a0| 09 09 7d 0d 0a 09 7d 0d | 0a 0d 0a 09 62 4e 65 74 |..}...}.|....bNet|
|000056b0| 4e 6f 74 69 66 79 20 3d | 20 4e 65 65 64 4e 65 74 |Notify =| NeedNet|
|000056c0| 4e 6f 74 69 66 79 28 29 | 3b 0d 0a 7d 0d 0a 0d 0a |Notify()|;..}....|
|000056d0| 65 78 65 63 20 66 75 6e | 63 74 69 6f 6e 20 41 64 |exec fun|ction Ad|
|000056e0| 6d 69 6e 4d 65 6e 75 28 | 20 73 74 72 69 6e 67 20 |minMenu(| string |
|000056f0| 43 6f 6d 6d 61 6e 64 4c | 69 6e 65 20 29 0d 0a 7b |CommandL|ine )..{|
|00005700| 0d 0a 7d 0d 0a 0d 0a 66 | 75 6e 63 74 69 6f 6e 20 |..}....f|unction |
|00005710| 53 65 72 76 65 72 52 65 | 71 75 65 73 74 50 6c 61 |ServerRe|questPla|
|00005720| 79 65 72 49 6e 66 6f 28 | 29 0d 0a 7b 0d 0a 09 6c |yerInfo(|)..{...l|
|00005730| 6f 63 61 6c 20 43 6f 6e | 74 72 6f 6c 6c 65 72 20 |ocal Con|troller |
|00005740| 43 3b 0d 0a 20 20 20 20 | 6c 6f 63 61 6c 20 78 50 |C;.. |local xP|
|00005750| 6c 61 79 65 72 20 78 50 | 43 3b 0d 0a 0d 0a 20 20 |layer xP|C;.... |
|00005760| 20 20 66 6f 72 20 28 43 | 3d 4c 65 76 65 6c 2e 43 | for (C|=Level.C|
|00005770| 6f 6e 74 72 6f 6c 6c 65 | 72 4c 69 73 74 3b 43 21 |ontrolle|rList;C!|
|00005780| 3d 4e 6f 6e 65 3b 43 3d | 43 2e 4e 65 78 74 43 6f |=None;C=|C.NextCo|
|00005790| 6e 74 72 6f 6c 6c 65 72 | 29 0d 0a 20 20 20 20 7b |ntroller|).. {|
|000057a0| 0d 0a 20 20 20 20 09 78 | 50 43 20 3d 20 58 50 6c |.. .x|PC = XPl|
|000057b0| 61 79 65 72 28 43 29 3b | 0d 0a 20 20 20 20 20 20 |ayer(C);|.. |
|000057c0| 20 20 69 66 20 28 78 50 | 43 21 3d 4e 6f 6e 65 29 | if (xP|C!=None)|
|000057d0| 0d 0a 09 09 09 43 6c 69 | 65 6e 74 52 65 63 65 69 |.....Cli|entRecei|
|000057e0| 76 65 52 75 6c 65 28 78 | 50 43 2e 50 6c 61 79 65 |veRule(x|PC.Playe|
|000057f0| 72 52 65 70 6c 69 63 61 | 74 69 6f 6e 49 6e 66 6f |rReplica|tionInfo|
|00005800| 2e 50 6c 61 79 65 72 4e | 61 6d 65 24 63 68 72 28 |.PlayerN|ame$chr(|
|00005810| 32 37 29 24 78 50 43 2e | 47 65 74 50 6c 61 79 65 |27)$xPC.|GetPlaye|
|00005820| 72 49 44 48 61 73 68 28 | 29 24 63 68 72 28 32 37 |rIDHash(|)$chr(27|
|00005830| 29 24 78 50 43 2e 47 65 | 74 50 6c 61 79 65 72 4e |)$xPC.Ge|tPlayerN|
|00005840| 65 74 77 6f 72 6b 41 64 | 64 72 65 73 73 28 29 29 |etworkAd|dress())|
|00005850| 3b 0d 0a 09 09 65 6c 73 | 65 0d 0a 20 20 20 20 20 |;....els|e.. |
|00005860| 20 20 20 09 43 6c 69 65 | 6e 74 52 65 63 65 69 76 | .Clie|ntReceiv|
|00005870| 65 52 75 6c 65 28 43 2e | 50 6c 61 79 65 72 52 65 |eRule(C.|PlayerRe|
|00005880| 70 6c 69 63 61 74 69 6f | 6e 49 6e 66 6f 2e 50 6c |plicatio|nInfo.Pl|
|00005890| 61 79 65 72 4e 61 6d 65 | 24 63 68 72 28 32 37 29 |ayerName|$chr(27)|
|000058a0| 24 22 41 49 20 43 6f 6e | 74 72 6f 6c 6c 65 64 22 |$"AI Con|trolled"|
|000058b0| 24 63 68 72 28 32 37 29 | 24 22 42 4f 54 22 29 3b |$chr(27)|$"BOT");|
|000058c0| 0d 0a 09 7d 0d 0a 0d 0a | 09 43 6c 69 65 6e 74 52 |...}....|.ClientR|
|000058d0| 65 63 65 69 76 65 52 75 | 6c 65 28 22 44 6f 6e 65 |eceiveRu|le("Done|
|000058e0| 22 29 3b 0d 0a 7d 0d 0a | 0d 0a 65 78 65 63 20 66 |");..}..|..exec f|
|000058f0| 75 6e 63 74 69 6f 6e 20 | 53 70 65 63 56 69 65 77 |unction |SpecView|
|00005900| 47 6f 61 6c 28 29 0d 0a | 7b 0d 0a 09 53 65 72 76 |Goal()..|{...Serv|
|00005910| 65 72 53 70 65 63 56 69 | 65 77 47 6f 61 6c 28 29 |erSpecVi|ewGoal()|
|00005920| 3b 0d 0a 7d 0d 0a 0d 0a | 66 75 6e 63 74 69 6f 6e |;..}....|function|
|00005930| 20 53 65 72 76 65 72 53 | 70 65 63 56 69 65 77 47 | ServerS|pecViewG|
|00005940| 6f 61 6c 28 29 0d 0a 7b | 0d 0a 20 09 6c 6f 63 61 |oal()..{|.. .loca|
|00005950| 6c 20 61 63 74 6f 72 20 | 4e 65 77 47 6f 61 6c 3b |l actor |NewGoal;|
|00005960| 0d 0a 0d 0a 20 20 20 20 | 69 66 20 28 20 50 6c 61 |.... |if ( Pla|
|00005970| 79 65 72 52 65 70 6c 69 | 63 61 74 69 6f 6e 49 6e |yerRepli|cationIn|
|00005980| 66 6f 2e 62 4f 6e 6c 79 | 53 70 65 63 74 61 74 6f |fo.bOnly|Spectato|
|00005990| 72 20 26 26 20 49 73 49 | 6e 53 74 61 74 65 28 27 |r && IsI|nState('|
|000059a0| 53 70 65 63 74 61 74 69 | 6e 67 27 29 20 29 0d 0a |Spectati|ng') )..|
|000059b0| 20 20 20 20 7b 0d 0a 20 | 20 20 20 09 4e 65 77 47 | {.. | .NewG|
|000059c0| 6f 61 6c 20 3d 20 4c 65 | 76 65 6c 2e 47 61 6d 65 |oal = Le|vel.Game|
|000059d0| 2e 46 69 6e 64 53 70 65 | 63 47 6f 61 6c 46 6f 72 |.FindSpe|cGoalFor|
|000059e0| 28 50 6c 61 79 65 72 52 | 65 70 6c 69 63 61 74 69 |(PlayerR|eplicati|
|000059f0| 6f 6e 49 6e 66 6f 2c 30 | 29 3b 0d 0a 20 20 20 20 |onInfo,0|);.. |
|00005a00| 20 20 20 20 69 66 20 28 | 4e 65 77 47 6f 61 6c 21 | if (|NewGoal!|
|00005a10| 3d 4e 6f 6e 65 29 0d 0a | 20 20 20 20 20 20 20 20 |=None)..| |
|00005a20| 7b 0d 0a 20 20 20 20 20 | 20 20 20 09 69 66 20 28 |{.. | .if (|
|00005a30| 20 50 61 77 6e 28 4e 65 | 77 47 6f 61 6c 29 21 3d | Pawn(Ne|wGoal)!=|
|00005a40| 4e 6f 6e 65 20 29 0d 0a | 20 20 20 20 20 20 20 20 |None )..| |
|00005a50| 20 20 20 20 7b 0d 0a 20 | 20 20 20 20 20 20 20 20 | {.. | |
|00005a60| 20 20 20 20 20 20 20 53 | 65 74 56 69 65 77 54 61 | S|etViewTa|
|00005a70| 72 67 65 74 28 4e 65 77 | 47 6f 61 6c 29 3b 0d 0a |rget(New|Goal);..|
|00005a80| 09 09 09 20 20 20 20 43 | 6c 69 65 6e 74 53 65 74 |... C|lientSet|
|00005a90| 56 69 65 77 54 61 72 67 | 65 74 28 4e 65 77 47 6f |ViewTarg|et(NewGo|
|00005aa0| 61 6c 29 3b 0d 0a 09 09 | 20 20 20 20 20 20 20 20 |al);....| |
|00005ab0| 62 42 65 68 69 6e 64 56 | 69 65 77 20 3d 20 74 72 |bBehindV|iew = tr|
|00005ac0| 75 65 3b 20 2f 2f 62 43 | 68 61 73 65 43 61 6d 3b |ue; //bC|haseCam;|
|00005ad0| 0d 0a 20 20 20 20 20 20 | 20 20 09 7d 0d 0a 20 20 |.. | .}.. |
|00005ae0| 20 20 20 20 20 20 20 20 | 20 20 65 6c 73 65 0d 0a | | else..|
|00005af0| 20 20 20 20 20 20 20 20 | 20 20 20 20 7b 0d 0a 20 | | {.. |
|00005b00| 20 20 20 20 20 20 20 20 | 20 20 20 09 53 65 74 56 | | .SetV|
|00005b10| 69 65 77 54 61 72 67 65 | 74 28 4e 6f 6e 65 29 3b |iewTarge|t(None);|
|00005b20| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.. | |
|00005b30| 20 20 43 6c 69 65 6e 74 | 53 65 74 56 69 65 77 54 | Client|SetViewT|
|00005b40| 61 72 67 65 74 28 4e 6f | 6e 65 29 3b 0d 0a 20 20 |arget(No|ne);.. |
|00005b50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 62 42 | | bB|
|00005b60| 65 68 69 6e 64 56 69 65 | 77 20 3d 20 66 61 6c 73 |ehindVie|w = fals|
|00005b70| 65 3b 0d 0a 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |e;.... | |
|00005b80| 20 20 20 20 20 20 53 65 | 74 4c 6f 63 61 74 69 6f | Se|tLocatio|
|00005b90| 6e 28 4e 65 77 47 6f 61 | 6c 2e 4c 6f 63 61 74 69 |n(NewGoa|l.Locati|
|00005ba0| 6f 6e 29 3b 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |on);.. | |
|00005bb0| 20 20 20 20 20 20 43 6c | 69 65 6e 74 53 65 74 4c | Cl|ientSetL|
|00005bc0| 6f 63 61 74 69 6f 6e 28 | 4e 65 77 47 6f 61 6c 2e |ocation(|NewGoal.|
|00005bd0| 4c 6f 63 61 74 69 6f 6e | 2c 52 6f 74 61 74 69 6f |Location|,Rotatio|
|00005be0| 6e 29 3b 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |n);.. | |
|00005bf0| 20 7d 0d 0a 20 20 20 20 | 20 20 20 20 7d 0d 0a 20 | }.. | }.. |
|00005c00| 20 20 20 7d 0d 0a 7d 0d | 0a 0d 0a 2f 2f 20 3d 3d | }..}.|...// ==|
|00005c10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005c20| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005c30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005c40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005c50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005c60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005c70| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005c80| 3d 3d 3d 0d 0a 2f 2f 20 | 3d 3d 3d 3d 3d 3d 3d 3d |===..// |========|
|00005c90| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005ca0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005cb0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005cc0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005cd0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005ce0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005cf0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 0d 0a 2f |========|=====../|
|00005d00| 2f 20 20 43 68 61 74 20 | 4d 61 6e 61 67 65 72 0d |/ Chat |Manager.|
|00005d10| 0a 2f 2f 20 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.// ====|========|
|00005d20| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005d30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005d40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005d50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005d60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005d70| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005d80| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 0d 0a 2f 2f 20 3d 3d |========|=..// ==|
|00005d90| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005da0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005db0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005dc0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005dd0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005de0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005df0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005e00| 3d 3d 3d 0d 0a 66 75 6e | 63 74 69 6f 6e 20 53 65 |===..fun|ction Se|
|00005e10| 72 76 65 72 52 65 71 75 | 65 73 74 42 61 6e 49 6e |rverRequ|estBanIn|
|00005e20| 66 6f 28 69 6e 74 20 50 | 6c 61 79 65 72 49 44 29 |fo(int P|layerID)|
|00005e30| 0d 0a 7b 0d 0a 09 6c 6f | 63 61 6c 20 61 72 72 61 |..{...lo|cal arra|
|00005e40| 79 3c 50 6c 61 79 65 72 | 43 6f 6e 74 72 6f 6c 6c |y<Player|Controll|
|00005e50| 65 72 3e 20 43 41 72 72 | 3b 0d 0a 09 6c 6f 63 61 |er> CArr|;...loca|
|00005e60| 6c 20 69 6e 74 20 69 3b | 0d 0a 09 2f 2f 6c 6f 67 |l int i;|...//log|
|00005e70| 28 4e 61 6d 65 40 22 53 | 65 72 76 65 72 52 65 71 |(Name@"S|erverReq|
|00005e80| 75 65 73 74 42 61 6e 49 | 6e 66 6f 3a 22 24 50 6c |uestBanI|nfo:"$Pl|
|00005e90| 61 79 65 72 49 44 2c 27 | 43 68 61 74 4d 61 6e 61 |ayerID,'|ChatMana|
|00005ea0| 67 65 72 27 29 3b 0d 0a | 09 69 66 20 28 20 4c 65 |ger');..|.if ( Le|
|00005eb0| 76 65 6c 20 21 3d 20 4e | 6f 6e 65 20 26 26 20 4c |vel != N|one && L|
|00005ec0| 65 76 65 6c 2e 47 61 6d | 65 20 21 3d 20 4e 6f 6e |evel.Gam|e != Non|
|00005ed0| 65 20 29 0d 0a 09 7b 0d | 0a 09 09 4c 65 76 65 6c |e )...{.|...Level|
|00005ee0| 2e 47 61 6d 65 2e 47 65 | 74 50 6c 61 79 65 72 43 |.Game.Ge|tPlayerC|
|00005ef0| 6f 6e 74 72 6f 6c 6c 65 | 72 4c 69 73 74 28 43 41 |ontrolle|rList(CA|
|00005f00| 72 72 29 3b 0d 0a 09 09 | 66 6f 72 20 28 69 20 3d |rr);....|for (i =|
|00005f10| 20 30 3b 20 69 20 3c 20 | 43 41 72 72 2e 4c 65 6e | 0; i < |CArr.Len|
|00005f20| 67 74 68 3b 20 69 2b 2b | 29 0d 0a 09 09 7b 0d 0a |gth; i++|)....{..|
|00005f30| 09 09 09 2f 2f 20 44 6f | 6e 27 74 20 73 65 6e 64 |...// Do|n't send|
|00005f40| 20 6f 75 72 20 6f 77 6e | 20 69 6e 66 6f 0d 0a 09 | our own| info...|
|00005f50| 09 09 69 66 20 28 20 43 | 41 72 72 5b 69 5d 20 3d |..if ( C|Arr[i] =|
|00005f60| 3d 20 53 65 6c 66 20 29 | 0d 0a 09 09 09 09 63 6f |= Self )|......co|
|00005f70| 6e 74 69 6e 75 65 3b 0d | 0a 0d 0a 09 09 09 2f 2f |ntinue;.|......//|
|00005f80| 6c 6f 67 28 4e 61 6d 65 | 40 22 53 65 72 76 65 72 |log(Name|@"Server|
|00005f90| 52 65 71 75 65 73 74 42 | 61 6e 49 6e 66 6f 20 43 |RequestB|anInfo C|
|00005fa0| 41 72 72 5b 22 24 69 24 | 22 5d 3a 22 24 43 41 72 |Arr["$i$|"]:"$CAr|
|00005fb0| 72 5b 69 5d 40 22 49 44 | 3a 22 24 43 41 72 72 5b |r[i]@"ID|:"$CArr[|
|00005fc0| 69 5d 2e 50 6c 61 79 65 | 72 52 65 70 6c 69 63 61 |i].Playe|rReplica|
|00005fd0| 74 69 6f 6e 49 6e 66 6f | 2e 50 6c 61 79 65 72 49 |tionInfo|.PlayerI|
|00005fe0| 44 2c 27 43 68 61 74 4d | 61 6e 61 67 65 72 27 29 |D,'ChatM|anager')|
|00005ff0| 3b 0d 0a 09 09 09 69 66 | 20 28 20 50 6c 61 79 65 |;.....if| ( Playe|
|00006000| 72 49 44 20 3d 3d 20 2d | 31 20 7c 7c 20 43 41 72 |rID == -|1 || CAr|
|00006010| 72 5b 69 5d 2e 50 6c 61 | 79 65 72 52 65 70 6c 69 |r[i].Pla|yerRepli|
|00006020| 63 61 74 69 6f 6e 49 6e | 66 6f 2e 50 6c 61 79 65 |cationIn|fo.Playe|
|00006030| 72 49 44 20 3d 3d 20 50 | 6c 61 79 65 72 49 44 20 |rID == P|layerID |
|00006040| 29 0d 0a 09 09 09 7b 0d | 0a 09 09 09 09 6c 6f 67 |).....{.|.....log|
|00006050| 28 4e 61 6d 65 40 22 53 | 65 6e 64 69 6e 67 20 42 |(Name@"S|ending B|
|00006060| 61 6e 49 6e 66 6f 20 54 | 6f 20 43 6c 69 65 6e 74 |anInfo T|o Client|
|00006070| 20 50 6c 61 79 65 72 49 | 44 3a 22 24 43 41 72 72 | PlayerI|D:"$CArr|
|00006080| 5b 69 5d 2e 50 6c 61 79 | 65 72 52 65 70 6c 69 63 |[i].Play|erReplic|
|00006090| 61 74 69 6f 6e 49 6e 66 | 6f 2e 50 6c 61 79 65 72 |ationInf|o.Player|
|000060a0| 49 44 40 22 48 61 73 68 | 3a 22 24 43 41 72 72 5b |ID@"Hash|:"$CArr[|
|000060b0| 69 5d 2e 47 65 74 50 6c | 61 79 65 72 49 44 48 61 |i].GetPl|ayerIDHa|
|000060c0| 73 68 28 29 40 22 41 64 | 64 72 65 73 73 3a 22 24 |sh()@"Ad|dress:"$|
|000060d0| 43 41 72 72 5b 69 5d 2e | 47 65 74 50 6c 61 79 65 |CArr[i].|GetPlaye|
|000060e0| 72 4e 65 74 77 6f 72 6b | 41 64 64 72 65 73 73 28 |rNetwork|Address(|
|000060f0| 29 2c 27 43 68 61 74 4d | 61 6e 61 67 65 72 27 29 |),'ChatM|anager')|
|00006100| 3b 0d 0a 09 09 09 09 43 | 68 61 74 4d 61 6e 61 67 |;......C|hatManag|
|00006110| 65 72 2e 54 72 61 63 6b | 4e 65 77 50 6c 61 79 65 |er.Track|NewPlaye|
|00006120| 72 28 43 41 72 72 5b 69 | 5d 2e 50 6c 61 79 65 72 |r(CArr[i|].Player|
|00006130| 52 65 70 6c 69 63 61 74 | 69 6f 6e 49 6e 66 6f 2e |Replicat|ionInfo.|
|00006140| 50 6c 61 79 65 72 49 44 | 2c 20 43 41 72 72 5b 69 |PlayerID|, CArr[i|
|00006150| 5d 2e 47 65 74 50 6c 61 | 79 65 72 49 44 48 61 73 |].GetPla|yerIDHas|
|00006160| 68 28 29 2c 20 43 41 72 | 72 5b 69 5d 2e 47 65 74 |h(), CAr|r[i].Get|
|00006170| 50 6c 61 79 65 72 4e 65 | 74 77 6f 72 6b 41 64 64 |PlayerNe|tworkAdd|
|00006180| 72 65 73 73 28 29 29 3b | 0d 0a 09 09 09 09 43 6c |ress());|......Cl|
|00006190| 69 65 6e 74 52 65 63 65 | 69 76 65 42 61 6e 28 43 |ientRece|iveBan(C|
|000061a0| 41 72 72 5b 69 5d 2e 50 | 6c 61 79 65 72 52 65 70 |Arr[i].P|layerRep|
|000061b0| 6c 69 63 61 74 69 6f 6e | 49 6e 66 6f 2e 50 6c 61 |lication|Info.Pla|
|000061c0| 79 65 72 49 44 24 43 68 | 72 28 32 37 29 24 43 41 |yerID$Ch|r(27)$CA|
|000061d0| 72 72 5b 69 5d 2e 47 65 | 74 50 6c 61 79 65 72 49 |rr[i].Ge|tPlayerI|
|000061e0| 44 48 61 73 68 28 29 24 | 63 68 72 28 32 37 29 24 |DHash()$|chr(27)$|
|000061f0| 43 41 72 72 5b 69 5d 2e | 47 65 74 50 6c 61 79 65 |CArr[i].|GetPlaye|
|00006200| 72 4e 65 74 77 6f 72 6b | 41 64 64 72 65 73 73 28 |rNetwork|Address(|
|00006210| 29 29 3b 0d 0a 09 09 09 | 7d 0d 0a 09 09 7d 0d 0a |));.....|}....}..|
|00006220| 09 7d 0d 0a 7d 0d 0a 0d | 0a 66 75 6e 63 74 69 6f |.}..}...|.functio|
|00006230| 6e 20 43 6c 69 65 6e 74 | 52 65 63 65 69 76 65 42 |n Client|ReceiveB|
|00006240| 61 6e 28 73 74 72 69 6e | 67 20 42 61 6e 49 6e 66 |an(strin|g BanInf|
|00006250| 6f 29 0d 0a 7b 0d 0a 09 | 69 66 20 28 20 55 6e 72 |o)..{...|if ( Unr|
|00006260| 65 61 6c 50 6c 61 79 65 | 72 43 68 61 74 4d 61 6e |ealPlaye|rChatMan|
|00006270| 61 67 65 72 28 43 68 61 | 74 4d 61 6e 61 67 65 72 |ager(Cha|tManager|
|00006280| 29 20 21 3d 20 4e 6f 6e | 65 20 29 0d 0a 09 09 55 |) != Non|e )....U|
|00006290| 6e 72 65 61 6c 50 6c 61 | 79 65 72 43 68 61 74 4d |nrealPla|yerChatM|
|000062a0| 61 6e 61 67 65 72 28 43 | 68 61 74 4d 61 6e 61 67 |anager(C|hatManag|
|000062b0| 65 72 29 2e 52 65 63 65 | 69 76 65 42 61 6e 49 6e |er).Rece|iveBanIn|
|000062c0| 66 6f 28 42 61 6e 49 6e | 66 6f 29 3b 0d 0a 7d 0d |fo(BanIn|fo);..}.|
|000062d0| 0a 0d 0a 0d 0a 2f 2f 20 | 3d 3d 3d 3d 3d 3d 3d 3d |.....// |========|
|000062e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000062f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00006300| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00006310| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00006320| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00006330| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00006340| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 0d 0a 2f |========|=====../|
|00006350| 2f 20 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |/ ======|========|
|00006360| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00006370| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00006380| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00006390| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000063a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000063b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000063c0| 3d 3d 3d 3d 3d 3d 3d 0d | 0a 2f 2f 20 20 56 6f 69 |=======.|.// Voi|
|000063d0| 63 65 20 43 68 61 74 0d | 0a 2f 2f 20 3d 3d 3d 3d |ce Chat.|.// ====|
|000063e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000063f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.